您的位置:首页 > 编程语言

学习GitHub(三): git分支的创建、合并和删除

2016-05-24 19:03 316 查看
强烈声明:本文参考涂根华的"Git使用教程"文章,这篇文章写的实在太好了,这里自己再亲自实践一遍,加深印象。

上一篇文章里介绍了一些git最基本的命令,所做的操作都是在master分支上进行的。Git的分支与SVN分支概念是一致的,master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面直接修改。如果我们要修复一个紧急bug,或者是为临时增加一些新功能,一般都会新建一个dev分支,等开发完毕,验证没有问题之后,才会将dev分支上的修改并到主分支master上来。

$ git branch  命令可以显示所有本地分支



可以看到:first-repo这个仓库只有一个master分支。我们来创建dev分支,然后切换到dev分支上,如下操作:



git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令:

git branch dev

git checkout dev

git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。

然后我们在dev分支上继续做demo,比如我们现在在readme.txt再增加一行 7777777777777。首先我们先来查看下readme.txt内容,接着添加内容77777777,如下:



现在dev分支工作已完成,现在我们切换到主分支master上,继续查看readme.txt内容如下:



现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令 git merge dev 如下所示:



git merge命令用于合并指定分支到当前分支上,合并后,再查看readme.txt内容,可以看到,和dev分支最新提交的是完全一样的。注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。合并完成后,我们可以接着删除dev分支了,操作如下:



上面由于dev分支和master分支内容不冲突,所以合并过程非常简单。但是实际上不同分支上文件冲突太常见了,下面我就来看下有冲突的时候如何合并。

首先建立一个demo分支,并修改readme.txt中内容然后提交:



现在我们切换到master分支上,修改readme.txt



下面我们将demo分支合入到master分支:



Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>demo 是指demo上修改的内容。

我们手动解决冲突后,可以完成合入了:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息