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

如果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

你可能感兴趣的:(Git cherry-pick)