git merge和git rebase的区别
参考https://blog.csdn.net/u010698107/article/details/129000177
Git版本控制中,git rebase和git merge这两个命令都可以用来集成从一个分支和另一个分支的更改。它们是两种不同的合并方法,本文将介绍它们的差异。
下面举例说明一下这两个命令的区别,从master拉一个叫feature的分支出来:

在feature分支进行了两次提交(C5、C6),此时其它人也进行了两次提交(C3、C4),并且合并到了master分支:

feature分支和master分支需要进行分支合并,下面来演示git rebase和git merge这两个命令的差异。
git merge操作
1 | git checkout feature |
git merge命令会在feature分支创建一个新的“合并的提交”(merge
commit, C7),然后将两个分支的历史联系在一起
,现有的分支不会以任何方式改变。

git rebase操作
1 | git checkout feature |
此命令将整个feature分支移动到master分支的顶端,有效地将所有新提交合并到master分支中。和git merge不同的是,git rebase通过为原始分支中的每个提交创建全新的提交(C5、C6)来重写历史记录。
