冲突解决

欢马劈雪     最近更新时间:2020-08-04 05:37:59

493

中央仓库代表了正式项目,所以提交历史应该被尊重且是稳定不变的。如果开发者本地的提交历史和中央仓库有分歧,Git 会拒绝 push 提交否则会覆盖已经在中央库的正式提交。

git-workflow-svn-managingconflicts

在开发者提交自己功能修改到中央库前,需要先 fetch 在中央库的新增提交,rebase 自己提交到中央库提交历史之上。

这样做的意思是在说,『 我要把自己的修改加到别人已经完成的修改上。』最终的结果是一个完美的线性历史,就像以前的 SVN 的工作流中一样。

如果本地修改和上游提交有冲突,Git 会暂停 rebase 过程,给你手动解决冲突的机会。Git 解决合并冲突,用和生成提交一样的 git statusgit add 命令,很一致方便。还有一点,如果解决冲突时遇到麻烦,Git 可以很简单中止整个 rebase 操作,重来一次(或者让别人来帮助解决)。