git cherry-pick

常用的git命令有很多,一些基本的命令比如git clonegit pullgit push等就没有必要作为记录了。

而有些命令,只在某些情况下才需要使用到。比如最近在开发的过程中遇到这样一种情况:

我从主分支master checkout出了一个新的开发分支dev_some,而由于某些原因,dev_some最终是不能合并回master分支的。但是在某一段时间t内我在dev_some提交的代码,需要合并回master分支。

这个时候就需要使用cherry-pick命令了,它可以将某个commit像打补丁的方式打进某个分支,因此通过该命令很好的完成我了的需求。

git cherry-pick <commitA> ..<commitB>

其中commit可以填写commit ID的前六位:
例如:

git cherry-pick 98ef8de..e6a5ba

两个commit之间的范围有两种常见的写法:

  • commitA ..commitB(不包含commitA,包含commitB)
  • commitA … commitB(包含commitA,包含commitB)

cherry-pick过程中,解决冲突后可能需要如下命令:

git cherry-pick --continue//解决冲突后,继续cherry-pick
git cherry-pick --quit
git cherry-pick --abort//终止本次cherry-pick回到之前的状态
原文地址:https://www.cnblogs.com/Spground/p/9567867.html