zoukankan      html  css  js  c++  java
  • git pull --rebase 变基

    使用下面的关系区别下面这两个操作:

    git pull = git fetch + git merge
    git pull --rebase = git fetch + git rebase

    现在我们有这样的两个分支,test和master,提交如下:

           D---E test
          /
     A---B---C---F--- master
    

    在master执行git merge test,然后会得到如下结果:

           D--------E
          /          
     A---B---C---F----G---   test, master
    

    在master执行git rebase test,然后得到如下结果:

    A---B---D---E---C‘---F‘---   test, master
    

    merge操作会生成一个新的节点,之前的提交分开显示。
    而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。



    想要更好的提交树,使用rebase操作会更好一点。
    这样可以线性的看到每一次提交,并且没有增加提交节点。

    merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。

    而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
    解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。



  • 相关阅读:
    [BZOJ2038]小Z的袜子
    [BZOJ5016]一个简单的询问
    [BZOJ1008][HNOI2008]越狱
    [FZU2254]英语考试
    利用Map 的merge方法统计数量
    List 原生态类型
    try-with-resource 关闭 io流
    利用构建器创建对象
    linux 安装 vault
    git 上传文件
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/14434513.html
Copyright © 2011-2022 走看看