zoukankan      html  css  js  c++  java
  • git cherry-pick 教程

    场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要把dev-3.0分支上的某些更改移到2.x的版本上, 那么怎么办呢?

    该cherry-pick上场了, cherry-pick会重演某些commit, 即把某些commit的更改重新执行一遍. 那么上述问题的解决方案如下:

    1. 基于release-2.0分支新建分支release-2.1, 并且到新创建的分支上
      git checkout -b release-2.1 release-2.0
    2. 将dev-3.0分支上的某些commit在release-2.1分支上重演
      git cherry-pick dev-3.0分支的某些commit-hash
      如:
    git cherry-pick  
    20c2f506d789bb9f041050dc2c1e954fa3fb6910 
    2633961a16b0dda7b767b9264662223a2874dfa9 
    5d5929eafd1b03fd4e7b6aa15a6c571fbcb3ceb4  
    

    多个commit-hash使用空格分割, commit-hash最好按提交时间先后排列, 即最先提交的commit放在前面.


    cherry-pick不仅可以用在不同分支之间, 还可以用在同一个分支上.
    不同分支的用法如上所述. 同一分支用法也是一样的, 同一分支使用情形:
    比如说你在某一个向某个分支中添加了一个功能, 后来处于某种原因把它给删除了,
    然而后来某一天你又要添加上这个功能了, 这时候就可以使用cherry-pick把添加那个功能的commit, 再重演一遍.



    作者:元亨利贞o
    链接:https://www.jianshu.com/p/d577dcc36a08
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    linux 安装软件的方式
    git 基本操作
    交叉编译
    windows下 打印机打印操作类 VS2015
    VS2015 下 unicode 字符转换类
    C++ 多线程日志类的使用
    编译模板实例化
    C++中如何使用switch字符串
    linux下静态库与动态库
    jsoncpp 解码编码 中文为空 乱码问题
  • 原文地址:https://www.cnblogs.com/javalinux/p/15255276.html
Copyright © 2011-2022 走看看