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