当不同分支上的文件都发生了更改时,就会遇到把这些更改进行合并,这个时候要用到两个操作:Merge 或者 Rebase 。
初始状态Merge
Merge 会把两个分支最新的版本(C3
和 C4
)进行合并 ,并生成一个新的版本(C5
)。
git checkout master
git merge <some-branch>
如果没有冲突,则直接合并。如果有冲突,则需要先解决冲突,再执行
git commit -m 'merge master with <some-branch>'
进行提交。
Merge 之后的状态Rebase
Rebase 会把 C4
所在分支中的修改应用到 C3
所在的分支上,这样看起来之前 C4
所在的分支好像从来没有存在过一样。
git checkout <some-branch>
git rebase master
Rebase 之后的状态
在执行 rebase
的过程中,如果有冲突要先解决冲突,等冲突解决完之后再执行
git rebase --continue
提交修改。
之后,再切换到 master
分支进行一次快速合并
git checkout master
git merge <some-branch>
补充
Git 启用外部工具解决冲突可以使用
git mergetool
网友评论