首先感嘆一下,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入門,裏面的內容很豐富也很好理解,有興趣的同窗能夠去學習一下。