学习GitHub(三): git分支的创建、合并和删除 - Go语言中文社区

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


强烈声明:本文参考涂根华的"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上修改的内容。

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




版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/aitangyong/article/details/51483925
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-30 11:25:12
  • 阅读 ( 1393 )
  • 分类:Go开源项目

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢