码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • git:亲测体验rebase与merge



    rebase与merge异同与最佳使用场景[1]


    alt

    这个dev-cui分支从devlop分支切出后,一直都只有我一个人在开发&维护.

    假如还有一位同事张三, 在devlop分支切出的分支dev-zhangsan上进行开发,他添加了一个glossary.md,而后进行了add & commit

    alt

    此时项目开发完成,需要将两个分支合并到devlop分支上:

    develop分支先合并了dev-cui,(即切到develop分支, 执行git merge命令)

    alt

    git merge

    接着去合并dev-zhangsan,如果使用git merge,

    alt

    绿色表示dev-cui分支,紫色表示dev-zhangsan,每一个点代表一次提交.

    可见出现了分叉,且merge操作会自动有一次commit(此处为快进式提交,参看文首链接),见下图:

    alt

    gir rebase

    先回退到7f8ccb37fdcced4bd4766c8192a6e27fc5f02730,

    alt

    接着切换到dev-zhangsan分支, 执行git rebase develop,

    alt

    此刻对于dev-zhangsan分支,已经有了develop分支的其他提交

    alt

    而后切回develop分支,执行git merge dev-zhangsan

    alt

    此时的develop分支的提交log为:

    alt


    git rebase一般称为变基或换基, 这篇blog[2] 将其称为衍合,区别于git merge的合并

    其实git rebase后,还是要执行一次git merge.

    即有个主干分支A,有个次分支B,二者切分后,都有许多次提交. 这时想再合并到一起,且希望commit log是一条直线, 那切到次分支B上,执行git rebase A, 这时就基于A,然后把B的改动"拔掉",然后放到最前面.(B的提交历史此时是一条直线)

    而后需要切回主干分支A,执行git merge B,一定是一个"快进式提交". 此时对于A,它的commit log就也是一条支线了


    参考资料

    [1]

    rebase与merge异同与最佳使用场景: https://dashen.tech/2015/09/26/rebase%E4%B8%8Emerge%E5%BC%82%E5%90%8C%E4%B8%8E%E6%9C%80%E4%BD%B3%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF/

    [2]

    这篇blog: https://blog.csdn.net/endlu/article/details/51605861

    本文由 mdnice 多平台发布

  • 相关阅读:
    洛谷 P6175 无向图的最小环问题(Floyd 算法求最小环)
    Cookie与Session的区别
    Duplicate entry ‘1559098812383174658‘ for key ‘rc_amt_contributions.PRIMARY‘
    python使用selenium webDriver时 报错
    代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
    qemu侧 网络包发送调试记录(二)
    3步体验在DAYU200开发板上完成OpenHarmony对接华为云IoT
    leetcode/
    基于Python实现并对比线性分类器与非线性分类器
    mongdb shell无法链接数据库
  • 原文地址:https://blog.csdn.net/techdashen/article/details/132745115
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号