您的位置:首页 > 职场人生

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

2017-03-31 10:25 281 查看
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: