• git不同分支局部代码合并 git cherry-pick


    cherry-pick 可以局部代码合并。

    cherry-pick不仅可以用在不同分支之间,还可以用在同一个分支上。

    比如说你在某一个向某个分支中添加了一个功能,后来处于某种原因把它给删除了,然而后来某一天你又要添加上这个功能了, 这时候就可以使用cherry-pick把添加那个功能的commit, 再重演一遍。

    不同分支之前,传递代码,有点意思。

    commit dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
    Author: jiqing <jiqing@caomall.net>
    Date:   Wed May 16 10:37:49 2018 +0800
    
        规格处理
    
     Admin/Lib/Action/ProductAction.class.php |  9 +++++++--
     Admin/Tpl/Product/add.html               | 12 ++++++------
     2 files changed, 13 insertions(+), 8 deletions(-)
    
    

    这个是分支A中的功能调整,分支B中也需要这样的功能,怎么办呢?

    难不成,再写一遍?又或者再复制一遍?

    不需要的,使用cherry-pick就可以了。

    git cherry-pick dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
    [laobandianqi 3eb652d] 规格处理
     Date: Wed May 16 10:37:49 2018 +0800
     2 files changed, 13 insertions(+), 8 deletions(-)
    

    我们发现,分支B中会进行一模一样的操作。

    git log
    commit 3eb652de360e67dae1dfb2f7692396adad26ec65
    Author: jiqing <jiqing@caomall.net>
    Date:   Wed May 16 10:37:49 2018 +0800
    
        规格处理
    
    

    就连生成的commit日志都是一样的,说明,它将commit重新在分支B上执行了一遍。

    很好很强大,很喜欢。

    使用之前,记得git fetch

    jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git fetch
    remote: Counting objects: 6, done.
    remote: Compressing objects: 100% (5/5), done.
    remote: Total 6 (delta 0), reused 0 (delta 0)
    展开对象中: 100% (6/6), 完成.
    来自 http://106.14.59.204/zhubin/store
       dbb9d19..c126d03  yanglu     -> origin/yanglu
    jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git cherry-pick c126d03041af4ab49a4104168e158ba869f6c9d5
    [laobandianqi 5b3cd36] 购物车添加移除,增加规格
     Date: Wed May 16 11:28:45 2018 +0800
     1 file changed, 1 insertion(+)
    
    
  • 相关阅读:
    Redis的主从复制
    JVM之jps命令
    ThreadLocal源码分析
    ThreadLocal初体验
    Redis的逐出算法
    Redis的删除策略
    DagScheduler 和 TaskScheduler
    数据挖掘的数据预处理
    日志实时收集和计算的简单方案
    spark ml 的例子
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/9044923.html
Copyright © 2020-2023  润新知