美文网首页工作生活
【Git】胖飚帮学:git merge 和 git rebase

【Git】胖飚帮学:git merge 和 git rebase

作者: 失语失芯不失梦 | 来源:发表于2019-07-01 18:51 被阅读0次

    最近使用git过程中突然想到git merge 和 git rebase 两个操作,网上查了一下两者的区别单看文字描述有点不清晰,于是手动操作了一把。 新建了测试仓库,在master操作了2次(commit test1 和commit test2)。然后新建分支branch_01,此时基准为commit test2。在branch_01分支进行了3次提交(branch commit1、2、3),同时master分支新增了操作master commit1、master commit2,时间纬度上master commit1 在 branch commit2 和 branch commit3 之间。分支情况如下图:

    在master 分支 执行 git merge branch_01 结果如图:

    远程的代码仓库提交历史是这样的:

    在master 分支 执行 git rebase branch_01 结果如图:

    远程的代码仓库提交历史是这样的:

    具体的工作原理: merge命令:git会将两个分支的共同祖先(commit test2)以及各分支的最新提交(master commit 2、branch commit 3)三方进行合并,然后生成一个新的commit提交(merge branch ‘branch_01’),完成合并。rebase 命令:git会从共同祖先开始依次提取master分支的提交,然后一次添加到branch_01分支最新提交的后边,及将 master commit1 和 master commit2 放在 branch commit3 之后,这样完成合并。

    相关文章

      网友评论

        本文标题:【Git】胖飚帮学:git merge 和 git rebase

        本文链接:https://www.haomeiwen.com/subject/sjpncctx.html