Git cherry-pick

cherry-pick是Git里对commit操作很好的一个指令,比如想把test分支中的其中多个commit merge到master,那么你需要挑你所需要的commit合到master,这时候就用cherry-pick来捡。

     |            
     |        C3
     |         |
    C1        C2
     |         |  test
     |        /
     |     /
    master

想将test分支中的C2 commit合并到master分支,丢弃C3的修改。
直接merge会把C3也合并进去,这时用git cherry-pick可以解决问题

  • 先用git log查看,C2 commit的id,复制下来
  • git checkout 到master分支下
  • git cherry-pick <C2_id>

如果cherry-pick过程没有出现冲突的话,那就是完成了合并,如下图所示

     |
   C4
     |  \         
     |    \   C3
     |      \ |
    C1        C2
     |        |  test
     |      /
     |    /
   master

如果出现冲突,

  • 先解决冲突
  • git add 将解决了冲突的文件添加到暂存区
  • git cherry-pick --continue就行

这样就完成啦。。。

参考文档:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我是版本管理工具 白痴 之前项目一直在SVN上,自己对SVN的理解,其实差不多就是小乌龟直接只用svn check...
    KK葫芦娃阅读 3,123评论 0 8
  • git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定...
    _Justin阅读 172,878评论 7 88
  • 介绍 git cherry-pick 可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们...
    ghostdemon阅读 1,658评论 0 2
  • 今天空闲时候,无意间看到一篇文章。文章的主人公是一位刚刚大学毕业步入社会的年轻小伙子。整篇文章讲叙是他一次求职的过...
    看得见的影子阅读 452评论 0 1
  • The world doesn’t need more hate. It needs more love, com...
    linda美君阅读 102评论 0 0