git:Merge和Rebase的区别

x33g5p2x  于2022-03-29 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(334)

git:Merge和Rebase的区别

案例

master分支有两个提交,分别是commit1、commit2。此时,以commit2为基点拉一个新分支为develop分支。在develop分支进行两次提交,分别为commit3、commit4

对master分支进行修改。修改后进了两次提交,分别是commit5、commit6

idea中展示情况如下:

要想在develop分支上体现master分支的commit5、commit6提交就可以是用git merge或者git rebase

git merge

在develop分支上执行:git merge master,你将会得到如下的提交曲线。

git rebase

而在develop分支上执行:git rebase master,你将得到如下提交曲线。

**merge:**会把master分支和你develop分支的commit合并在一起,形成一个新的commit提交

**rebase:**会把develop分支的commit放到master分支最新提交后。执行rebase后依次将当前的提交cherry-pick到目标分支上,然后将在原始分支上的已提取的commit删除。

总结

  • 1、rebase后提交曲线简洁,merge相对较乱。
  • 2、merge结果能真实体现提交时间线,而rebase会打乱时间线。
  • 3、merge后会新成一个新的commit提交,而rebase只是修改commit提交并不会形成新的。

相关文章