14. 解決衝突git
14.1. 場景ui
當分支A和分支B在同一個文件上都有修改時會出現衝突.常見的狀況是從master分支的基礎上生成了新分支dev,而後在dev上進行了修改並add&commit了.後來在master上對同一個文件進行了修改,也add&commit了.這時合併兩個分支的操做就會失敗.spa
$ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.
14.2. 解決衝突code
這裏git會把衝突合併進該文件,必須手動解決衝突後再提交.blog
Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. <<<<<<< HEAD Creating a new branch is quick & simple. ======= Creating a new branch is quick AND simple. >>>>>>> feature1
<<<<<<<,=======,>>>>>>>將衝突的兩個文件的內容分開了.只有將某一個分支的內容改爲另外一個分支同樣才能解決問題.通常是把master分支改爲和dev同樣的,由於你是要把dev的新內容合併到master上來嘛.開發
這時就能夠合併了.it
15. 分支管理策略(ff模式問題)io
fast forward模式下進行分支合併後,歷史記錄中不會有記錄,由於不能算是一次提交.合併的時候加上'--no-ff'就能夠用普通模式合併,合併後的歷史有分支,能夠看出合併操做.table
通常的項目應該有master和dev分支,以及各個開發者的分支.master分支是最穩定的分支.發佈新版本都往這上面發佈,而dev分支就是開發分支,我的的開發成果都往dev上合併,全部功能都完成以後再合併到masterast