当不同分支上的文件都发生了更改时,就会遇到把这些更改进行合并,这个时候要用到两个操作:Merge 或者 Rebase

初始状态

Merge


Merge 会把两个分支最新的版本(C3C4)进行合并 ,并生成一个新的版本(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

wubt
56 声望2 粉丝

主页:[链接]


« 上一篇
Git 分支管理