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