如何选择提交C4
和C5
?
我试过git cherry-pick C4..C5
,但只得到C4
。
我想我真的不明白这个范围是怎么运作的。
最佳答案
tl;dr版本:C4^..C5
除非命令特别对待它(而git cherry-pick
没有),否则范围表达式意味着“使用右侧名称标识/可查找的所有提交,减去使用左侧名称标识/可查找的所有提交”。在本例中,C5
标识提交0到5(含),而C4
标识提交0到4(含)。从第一组中减去第二组提交,您只会得到C5
。
另一种方法是,如果提交是相关的,则得到一个“半开放间隔”,就像(3, 7]
中的整数是4 5 6 7
一样。
与半开整数区间一样,通常的简单技巧是从后一步开始。因为C4
的(第一个)父元素是C4^
,C4^..C5
起作用,就像(2, 7]
会让你3 4 5 6 7
一样。
(如果没有父级,即左边是根提交,则此操作失败。在这种情况下,你需要一些替代策略。有些命令使这更容易,有些命令使它更难,但现在我们可以忽略这个问题。:-))
关于git - git cherry-pick 范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29845096/