• git cherry-pick 教程


    转自:http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

    对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。

    这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。

    一、基本用法

    git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。

    
    $ git cherry-pick <commitHash>
    

    上面命令就会将指定的提交commitHash,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。

    举例来说,代码仓库有masterfeature两个分支。

    
        a - b - c - d   Master
             
               e - f - g Feature
    

    现在将提交f应用到master分支。

    
    # 切换到 master 分支
    $ git checkout master
    
    # Cherry pick 操作
    $ git cherry-pick f
    

    上面的操作完成以后,代码库就变成了下面的样子。

    
        a - b - c - d - f   Master
             
               e - f - g Feature
    

    从上面可以看到,master分支的末尾增加了一个提交f

    git cherry-pick命令的参数,不一定是提交的哈希值,分支名也是可以的,表示转移该分支的最新提交。

    
    $ git cherry-pick feature
    

    上面代码表示将feature分支的最近一次提交,转移到当前分支。

    二、转移多个提交

    Cherry pick 支持一次转移多个提交。

    
    $ git cherry-pick <HashA> <HashB>
    

    上面的命令将 A 和 B 两个提交应用到当前分支。这会在当前分支生成两个对应的新提交。

    如果想要转移一系列的连续提交,可以使用下面的简便语法。

    
    $ git cherry-pick A..B 
    

    上面的命令可以转移从 A 到 B 的所有提交。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。

    注意,使用上面的命令,提交 AB将不会包含在 Cherry pick 中.

  • 相关阅读:
    微信分享功能开发代码整理
    js 完美兼容浏览器的复制功能
    linux 搭建svn服务器
    zendStudio安装Xdebug项目断点调试
    程序员开发常用英语词汇
    简单的一个远传采集并下载远传图片存储到本地示例
    form表单中经常用到的禁用获取值问题
    记录下url拼接的多条件筛选js
    better-scroll在vue中的使用
    移动端适配,引入lib-flexible,vue开发中将px转化为rem
  • 原文地址:https://www.cnblogs.com/daxiong225/p/13463618.html
Copyright © 2020-2023  润新知