git merge与 git rebase区别及实例

导读:本篇文章讲解 git merge与 git rebase区别及实例,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Git分支创建与合并,在分支合并时,有两种方式:git merge 和git rebase。

git merge:将两个分支,合并提交为一个新提交,并且新提交有2个parent。

git rebase:会取消分支中的每个提交,并把他们临时存放,然后把当前分支更新到最新的origin分支,最后再吧所有提交应用到分支上。

具体区别可参考git merge 和 git rebase 小结

接着上一篇例子:

git merge

  具体操作:bob在index1.html中修改2次,并提交到远程仓库;lilei在index.html中修改2次,并提交到远程仓库;bob拉取远程仓库(git fetch origin dev),merge合并。分支结构如下:

   git merge与 git rebase区别及实例

  由此可见,两个分支进行了合并,并且93a6d33提交有2个parent(135b375和8b61b04)。

git rebase

  具体操作:lilei在index.html中修改2次,并提交到远程仓库;bob在index1.html中修改2次,并提交,拉取远程仓库(git fetch origin dev),rebase合并。命令行输出如下:

  git merge与 git rebase区别及实例

  首先将HEAD指针移到当前origin分支顶部,然后再应用所有提交到当前分支。分支结构(呈直线型)如下:

  git merge与 git rebase区别及实例

  可以看出,rebase时,当前分支在135b375共有祖先的基础上,将191b8cd、00e08ec及后续2次提交,共计4个提交撤销。然后将HEAD移到322ca9提交上,再将4个提交重新应用到分支上。

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/16246.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!