关于merge,我们再熟悉不过了。多人协同开发,你发布代码,我也发布代码,最终我们都要发布到同一版本库,那么代码合并就必不可少了。本节我们来模拟一个日常开发中的场景作以说明,Let’s go!

假设我们一直在分支dev开发,此时我们已经写完代码,准备合并到主分支master,以下是具体操作步骤:

一、切换分支到master

1
git checkout -f master

git

二、将dev分支合并到master

1
git merge dev

git
不巧的是,我们改了同一个文件。那么这时候就会产生冲突,我们就需要对冲突文件进行合并。
可以看到,有文件自动合并失败了,这样我们不得不手动去合并了。

1
2
3
4
5
<<<<<<< HEAD
test in master
=======
test in dev
>>>>>>> dev


<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。
HEAD指向当前分支末梢的提交。
=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。
>>>>>>>之后的dev是该分支的名字。
对于简单的合并,手工编辑,然后去掉这些标记,最后像往常的提交一样先add再commit即可。

三、查看状态git status -s

status -s 传送门http://git-scm.com/docs/git-status
git
git
注意,如果还有没有合并冲突的文件,就无法commit,并且给出提示:
git
查看状态,合并完之后,我们add刚才修改的文件。
git
提交并上传到远程库
git
ok,搞定收工!

参考:
http://www.cnblogs.com/mengdd/p/3585038.html