首先感叹一下,Git在平常项目的管理中真是好用。java
进入正题,今天在合并分支的时候发生了冲突,第一次解决冲突,作个记录。
简单起见,假设:git
冲突的文件是HelloWorld.javaeclipse
个人分支是issueide
要合并到分支master学习
Auto-merging HelloWorld.java CONFLICT (content): Merge conflict in HelloWorld.java Automatic merge failed; fix conflicts and then commit the result.
在你要合并分支的时候,另外一分支上同一份代码已经被修改过。网站
更新本分支,固然,若是你确认你本机上的代码是最新的,能够略过这步。ui
$ git pull
切换到master分支。spa
$ git checkout master
提出合并。code
$ git merge master
在这一步,git将发出冲突提示:blog
Auto-merging HelloWorld.java CONFLICT (content): Merge conflict in HelloWorld.java Automatic merge failed; fix conflicts and then commit the result.
查看冲突。
$ git status
这一步会列出具体的冲突文件有哪些。
根据提示,到相应的文件中查看,会发现文件中有如下错误提示:
其中,=======上面是当前分支(也就是master)的代码,=======下面是要合并进来的分支的代码,二者发生了冲突。此时,分析两段的代码是实现相同功能而写的重复的代码仍是各自实现的不一样的功能的代码。若是是重复代码:两个二选一删除一个,而后再把这些冲突标示符删除便可;若是不是重复代码,两个都须要保留,只把冲突符号删除便可。
从新添加
$ git add HelloWorld.java
多说一句,若是在eclipse中修改冲突,能够直接右键文件->Team->Add to Index。
最后,提交代码。
$ git commit -m "合并issue分支" $ git push origin master
切换回issue分支
$ git checkout -
若是是在eclipse中, 右键工程->Team->Switch To->issue。在eclipse中用git也仍是挺方便的。
最后,解决问题的过程无心间发现这个网站:猴子都能懂的git入门,里面的内容很丰富也很好理解,有兴趣的同窗能够去学习一下。