如何在我的 cherry pick 命令中包含我的第一次提交?

How do I include my first commit in my cherry pick command?

Cliffnotes 版本

长版

... git cherry-pick ABC..XYZ [but] I want ABC to be included in my commits to the current branch. Do I have to reference the commit before ABC?

简短回答:是的。

更长的答案种类:Git 有相应的语法,因为这是一个很常见的要求。任何适合标识一个特定提交的名称,例如 mastera123456,都可以加上 ^~ 字符后跟数字作为后缀。默认数字仅为 1,因此:

master^

master~

表示"the commit before the one selected by the name master"。

在这种情况下,您可以这样写:

git cherry-pick ABC^..XYZ

请注意,Windows-y 命令行解释器倾向于将 ^ 视为转义字符,需要使用 ABC^^..XYZ"ABC^..XYZ" 输入命令,因此您可能更喜欢~。两者都在这里工作。

(更具体地说,^<em>number</em> 表示第 number-th parent,而 ~<em>number</em> 告诉 Git 倒数那么多 first-parents。所以 master~3 表示与 master^1^1^1 相同。由于 1 是默认数字,因此您也可以将其写为 master^^^。还有许多其他方法可以识别提交,所有这些都在 the gitrevisions documentation 中进行了概述。 )