sourcetree建立分支与分支合并

1、Sourcetree简单介绍

经过Git能够进行对项目的版本管理,可是若是直接使用Git的软件会比较麻烦,由于是经过一条一条命令进行操做的。 
这里写图片描述 
Sourcetree则能够与Git结合,提供图形界面,使用会方便不少。Git和Sourcetree的安装这里就很少说,网上大把的教程。 
这里写图片描述android

2、分支的建立与合并

一、建立一个远程仓库

在GitHub官网上建立一个新的远程仓库: 
这里写图片描述测试

二、用Sourcetree将这个远程仓库clone到本地

复制远成仓库的地址,而后利用改地址将远程仓库clone下来: 
这里写图片描述.net

这里写图片描述 
这样,在本地就建立好了一个本地仓库MainProject,能够到目标地址去查看一下。blog

三、准备测试用工程

这里建立一个android工程,不须要写什么代码。将建立好的整个android工程放到本地仓库的文件夹中,而后推送到远程仓库,这样测试用的工程基本准备好了: 
这里写图片描述教程

这里写图片描述

四、建立分支

此时远程仓库中已经有一个项目了,下面模拟一个场景:假设有两个程序猿Allen、Bill同时在开发这个项目,项目经理要求Allen增长一个听歌的功能,要求Bill增长一个游戏的功能,那此时这两人就必须将远程仓库中的项目clone到他两各自的本地(这里就用一台电脑模拟,clone两次建立两个本地仓库): 
这里写图片描述游戏

clone下来后会有一个默认的分支master,能够理解成主分支,那去进行项目开的话不会直接使用master,会去建立一个新分支进行开发,避免直接使用master改来改去最后一团糟那就该崩溃了。每一个人在各自的新分支中开发完成后将新分支合并到主分支中就能够了。 
接下来Allen和Bill各自建立一个新分支:Allen_dev和Bill_dev 
这里写图片描述图片

这里写图片描述

这里写图片描述

那若是Allen和Bill在开发过程当中想看看对方的代码,那就必须将各自建立的新分支推送到远程仓库,而后将对方的分支拉取下来,每次想看的话先获取,而后再拉取最新的代码到本地仓库便可。 
这里写图片描述开发

首次拉取别人的分支,在上面的获取以后,按以下操做,这里是Allen获取Bill的分支Bill_dev,Bill获取Allen的步骤同样: 
这里写图片描述get

注意:黑色加粗表示当前所处的分支,能够任意双击切换! 
这里写图片描述 
这里写图片描述it

到此,各自的分支已经建立好了,下面Allen和Bill就能够在各自的新分支上进行项目经理安排的任务。

三、分支合并

Allen和Bill打开各自本地仓库中的项目代码进行开发,顺利完成项目经理交代的任务,而后各自的分支推送到远程仓库: 
这里写图片描述

这里写图片描述

此时双方能够获取最新代码,拉取最新分支代码,拉取完成后就能够看到对方所增长的内容: 
这里写图片描述

这里写图片描述

此时,各自都想将对方的代码整合到本身的项目中,这是就须要分支的合并。例如Allen合并Bill的分支: 
这里写图片描述

合并完成后,能够看到以前打开的Allen的Android工程,会发现Bill添加的功能已经在Allen的项目中显示出来了。 
这里写图片描述

这里写图片描述

最后不要忘了将各自合并后的分支推送。

如今Allen和Bill的工做已经完成了,各自的分支也推送到了远程仓库,此时项目经理就能够clone远程仓库的项目到本地,拉取Allen和Bill的提交的最新分支,将它们合并到主分支master中。这里就拿最开始建立的MianProject看做是项目经理,合并完成并推送。 
这里写图片描述

三、解决冲突

到目前为止Allen和Bill各自进展顺利,可是倘若两人同时在同一个文件进行了操做,那最后合并时就会出现冲突。好比在MainActivity: 
这里写图片描述

这里写图片描述

此时当Allen和Bill推送本身的分支到远程仓库后,项目经理MainProject拉取代码进行合并: 
假设首先合并Allen_dev到master没有问题,可是当合并Bill_dev到master时就会提示合并出现了冲突,须要解决。 
这里写图片描述 
点击关闭,而后切换到文件状态,找到出现冲突的文件,会有相应的冲突信息: 
这里写图片描述

有冲突就要解决,右键单击冲突文件,选择解决冲突,这里有两个选项: 
一、使用 个人版本 解决冲突 
二、使用 他人版本 解决冲突 
这里项目经理MainProject首先是将Allen的分支合并到主分支master,那么“个人版本”就是对应的Allen的,“他人版本”对应的就是Bill的。若是首先合并Bill的分支,那么对应关系就要对调一下。总的来讲,“个人版本”对应的是首先合并到主分支master的。 
采用一我的的版本,那么在冲突文件中就只会保留该人修改的代码,例如我这里就选择”使用 个人版本 解决冲突“,那么在MainActivity中就只会保留Allen添加的代码。 
这里写图片描述 
弹出对话框点击肯定。

解决前: 
这里写图片描述

解决后: 
这里写图片描述

到这为止基本的分支建立与合并的简单应用,还有合并冲突解决就介绍完了。

 

原文地址:http://blog.csdn.net/qq_34975710/article/details/74469068

相关文章
相关标签/搜索