git rebase VS git merge

171 阅读1分钟

git rebase git merge

git merge

是将两个分支的最新提交 c3 c4合并产生一个新分支c5

end-situation-merge-commit.gif

git rebase

如下三张图:

  1. 将a分支上的c3暂存起来,
  1. 然后将b分支先合并进a分支,
  2. 最后再将c3中的变更在最后replay一定,
  3. 就这是rebase,也即c3原来的base是c1,现在变成了c4

image.png

实测

下面是我的实测:(当然步骤是按照上面图中的)

实际上 多产生的那个提交(Merge branch 'b2' into a2) 从整体上看没有任何意义。属于冗余

image-20220716153714163.png