zoukankan      html  css  js  c++  java
  • git merge 和 rebase 区别

    git pull  超级不推荐使用git pull 有坑,谨慎使用,pull底层是merge

    git pull 是 git fetch + git merge FETCH_HEAD 的缩写。所以,默认情况下,git pull就是先fetch,然后执行merge 操作,如果加 —rebase 参数,就是使用git rebase 代替git merge。

    merge 和 rebase

    merge 是合并的意思,rebase是复位基底的意思。

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

    1
    2
    3

    D---E test

    /

    A---B---C---F master

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

    1
    2
    3

    D--------E

    /

    A---B---C---F----G test, master

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

    1

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

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

    其他内容放这里

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

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

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

  • 相关阅读:
    让你少奋斗10年的工作经验
    POJ Exponentiation解题
    数据结构树和二叉树
    语句摘录
    ACM解题报告格式
    编程规范
    数据结构图
    Java学习之二Java反射机制
    使用Python正则表达式提取搜索结果中的站点
    toj 1702 A Knight's Journey
  • 原文地址:https://www.cnblogs.com/jintaostudy/p/5893928.html
Copyright © 2011-2022 走看看