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

原文地址:https://www.cnblogs.com/york-hust/p/4649429.html