Git教程学习(五)
14. 解决冲突
14.1. 场景
当分支A和分支B在同一个文件上都有修改时会出现冲突.常见的情况是从master分支的基础上生成了新分支dev,然后在dev上进行了修改并add&commit了.后来在master上对同一个文件进行了修改,也add&commit了.这时合并两个分支的操作就会失败.
$ 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. 解决冲突
这里git会把冲突合并进该文件,必须手动解决冲突后再提交.
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上来嘛.
这时就可以合并了.
15. 分支管理策略(ff模式问题)
fast forward模式下进行分支合并后,历史记录中不会有记录,因为不能算是一次提交.合并的时候加上'--no-ff'就可以用普通模式合并,合并后的历史有分支,可以看出合并操作.
一般的项目应该有master和dev分支,以及各个开发者的分支.master分支是最稳定的分支.发布新版本都往这上面发布,而dev分支就是开发分支,个人的开发成果都往dev上合并,所有功能都完成之后再合并到master