程序员必会技能系列(2)git中merge和rebase比较-3

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wode_dream/article/details/68922367

git中有两个合并分支的方法,一个是git merge,另一个是git rebase。

一、git merge 讲解

1、画图讲解git merge

用merge合并分支时不会改变历史(通俗的说就是commit号不会变)。在git中merge会创造一个特殊的commit,这个commit包含两个父commit。示例,执行git命令,[1]:git checkout master ,[2]:git merge bugFix。结果如下图所示:

这里写图片描述

现在bugFix是master的祖先,我们现在把bugFix也放到C4上去。

执行命令[1]:git checkout bugFix;[2]:git merge master。得到的结果如下图:

这里写图片描述

这个过程git并没有做什么工作,只是把bugFix移动到commit C4中。现在我们的两个分支bugFix和master都包含了仓库中的所有工作。

2、通过commit号讲解git merge

这里写图片描述

二、git rebase 讲解

1、画图讲解git rebase

git rebase 可以创建一个更接近线性的提交历史。但是git rebase会改变提交历史。

栗子:[1]、git checkout bugFix ;[2]、git rebase master

这里写图片描述

现在master是bugFix的祖先,现在我们把master也放到C3’上

[1]、git checkout master [2]、git rebase bugFix

这里写图片描述

2、通过commit号讲解rebase

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wode_dream/article/details/68922367