相信大家对Git都并不陌生,但是对git merge和git rebase的区别可能有些模棱两可,这篇文章用图解的方式来帮大家理解,非常清晰。
git merge和git rebase的作用
git merge和git rebase的作用是一样的,都是将一个分支的提交合并到另一个分支。
git merge和git rebase的区别
下面的例子均为develop合并到master
- git merge
假设我们需要把7号的提交合并到Master分支去,通过git merge合并后结果如下:
git会找到master和dev分支的公共节点3号点,通过3,4,7作三方合并最后Master分支生成一个新的提交8号,此时合并完成。
- git rebase
还是以上面这个提交时间线为例,git rebase后的结果如下:
还是找到公共节点3,此时保持develop分支不变,而master的4号分支合并到7号之后,形成新的提交8号。
总结
1、git merge在合并的时候会保留原有的分支结构和提交的时间顺序
2、git rebase合并后原有分支结构改变,且变得非常简洁,只有一条主干