idea中git常见使用场景

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:

假设小组中有两个人,组长小张,组员小袁

场景一:小张创建项目并提交到远程Git仓库

场景二:小袁从远程Git仓库上获取项目源码

场景三:小袁修改了部分源码,提交到远程仓库

场景四:小张从远程仓库获取小袁的提交

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

场景六:小袁把分支提交到远程Git仓库

场景七:小张获取小袁提交的分支

场景八:小张把分支合并到主干

下面来看以上各场景在IDEA中对应的操作。

场景一:小张创建项目并提交到远程Git仓库

创建好项目,选择VCS - > Import into Version Control -> Create Git Repository

接下来指定本地仓库的位置,按个人习惯指定即可,例如这里选择了项目源代码同目录

点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库。

下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库。

IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。

具体操作,在项目上点击右键,选择Git菜单

因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

场景二:小袁从远程Git仓库上获取项目源码

即克隆项目,操作如下:

输入小张Push时填写的远程仓库地址

接下来按向导操作,即可把项目从远程仓库克隆到本地仓库和IDE工作区。

场景三:小袁修改了部分源码,提交到远程仓库

这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。请参考场景一

场景四:小张从远程仓库获取小袁的提交

获取更新有两个命令:Fetch和Pull,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Push则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。

创建流程如下:

选择New Branch并输入一个分支的名称

创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支。

如下图,点击Checkout

注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。

场景六:小袁把分支提交到远程Git仓库

切换到新建的分支,使用Push功能

场景七:小张获取小袁提交的分支

使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。

更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换。

场景八:小张把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

选择要合并的分支,点击Merge完成

原文地址:https://www.cnblogs.com/luobentomoon/p/9234450.html

时间: 2024-10-11 19:47:31

idea中git常见使用场景的相关文章

Redis 的 5 个常见使用场景

Redis 的 5 个常见使用场景 提交 我的评论 加载中 已评论 Redis 的 5 个常见使用场景 2015-07-23 数据库开发 数据库开发 数据库开发 微信号 DBDevs 功能介绍 分享数据库相关技术文章.教程和工具,另外还包括数据库相关的工作.偶尔也谈谈程序员人生 :) (点击上方蓝字,快速关注我们) 英文:Joe Engel 译者:伯乐在线-刘晓鹏 网址:http://blog.jobbole.com/88383/ 点击"阅读原文"可查看本文网页版 在这篇文章中,我们将

以《淘宝网》为例,描绘质量属性的六个常见属性场景

以<淘宝网>为例,描绘质量属性的六个常见属性场景. 1.可用性 可用性与系统故障及其后果相关.当系统不再提供其规范中所说的服务时,就出现了系统故障.系统用户可以观察到此类故障. 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的 刺激源 用户 刺激 很多用户同时访问,系统出现崩溃 制品 系统 环境 正常操作 响应 系统检测到事件:记录故障,通知系统 响应度量 两分钟后,系统可以继续正常使用 2.可修改性 两个关注点:可以修改什么?何时

Git常见相关知识与命令

安装git程序 ContOS Yum install –y epel-release Yum install –y git Ubuntu Sudo apt-get install git Windows上安装 https://git-scm.com/download/win 安装完成以后还需要最后一步设置 git config --global user.name "Qiang"//比如Qiang git config --global user.email "[email 

Consul实践之Consul常见应用场景及方案梳理(FAQ)

Consul实践之Consul常见应用场景及方案梳理(FAQ),这篇文章用来回答一些在文章<Consul实践之相关计划与相关问题>中提到的一些问题.本方案整理参考依据于<使用Consul和Registrator实现Docker容器服务发现>英文原文<SERVICE DISCOVERY FOR DOCKER CONTAINERS USING CONSUL AND REGISTRATOR>,方案的实施依据可以根据原文进行. 手动新增的服务节点是否可以自动发现? 将consu

属性常见属性场景

淘宝网质量属性常见属性场景 一.      可用性 可用性与系统故障及相关后果有关,当系统不在提供其规范中所说明的服务,就出现了系统故障.系统的用户可以观察到此类故障. 刺激源 系统外部 刺激 未曾预料的消息 制品 进程 环境 正常操作 响应 系统检测事件,通知用户 响应度量 继续正常使用 如用户进行注册登录时发生错误时,进行反馈. 二.      可修改性 1.        可以修改什么(制品)2.何时进行变更以及由谁进行变更(环境) 刺激源 系统开发人员 刺激 增加功能以及对于网站的界面更

数据库常见的场景

作为一个开发人员,起初的开发场景可能涉及的比较专业的业务开发,但是我们也得了解一下数据库的一些常见的大数据处理的场景,普及一下计算机知识,以后会遇到类似场景,自己也可以实现这些东西. 主存同步:MS 场景:把A数据库的数据同步到B数据库 作用:备份,高可用,负载均衡 原理:binlog实时回复 双向同步:MM 与主存同步类似,仅仅是双工同步. 读写分离: 场景: 1.业务操作(生成数据或者修改删除数据在一个数据上进行) 2.查询操作(在另一个数据库上进行) 要点: 两个数据库之间的数据要一致,也

质量属性的六个常见属性场景

题目:以<淘宝网>为例,描绘质量属性的六个常见属性场景. 一.可用性 双十一光棍节购物,页面刷不出来 刺激源 用户 刺激 大量用户同一时间访问淘宝网,系统出现崩溃 制品 系统 环境 正常操作 响应 系统出现提醒:网络不好,请稍后再试 响应度量 三分钟后,系统可以继续正常使用,页面正常浏览 二.可修改性 淘宝网主页会根据用户平常的浏览改变主页 刺激源 开发人员 刺激 修改用户界面 制品 系统用户界面 环境 设计时 响应 进行修改且不会影响其他功能 响应度量 99.9%的修改都不影响其他功能 三.

SEO中最常见的几个错误

Git Community Book 中文版书上,摘录如下: 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git commit $ vi

axios基于常见业务场景的二次封装

axios axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.在前端框架中的应用也是特别广泛,不管是vue还是react,都有很多项目用axios作为网络请求库.我在最近的几个项目中都有使用axios,并基于axios根据常见的业务场景封装了一个通用的request服务. 业务场景: 全局请求配置. get,post,put,delete等请求的promise封装. 全局请求状态管理. 取消重复请求. 路由跳转取消当前页面请求. 请求携带token,