【发布时间】:2021-03-26 21:57:57
【问题描述】:
为了在分支 working 上找到未合并/选择到 master 的提交,但我正在运行
git log --format="%h %aN %ai %f" --cherry-pick --no-merges master..working
据悉here。
但正如here 所述,我发现master 上的提交和 working 上的提交ID 仅因采摘樱桃而有所不同。
working 均未合并到 master,反之亦然。
即使我手动选择从 working 到 master 的提交,它也会显示运行上述命令。
实际上--cherry-pick 似乎完全没有效果,正如|wc 所示。
我做错了什么?
更新:
实际上,ElpieKay 和 torek 都是正确的,我的初始命令也会起作用。不幸的是,我不知道我们正在使用一些“樱桃采摘”魔法,我不知道在樱桃采摘后哪些改变了提交
.
【问题讨论】:
-
试试
master...working。恐怕你漏了一个点。 -
A..B是^A B的简写(参见git-scm.com/docs/git-log)-...似乎是用于对称差异,即它还显示master上的提交,而working上没有.尽管如此,它也显示了精心挑选的提交。 -
@ElpieKay:奇怪的是,当我尝试提出一个可重现的最小示例时,unsing
...cherry-picked 提交确实没有出现。但不幸的是,master上的那些也只会出现。尽管如此,在我的实际项目结帐中,即使git patch-id告诉我,樱桃挑选的提交 do 也会出现(使用...),它们是相同的.. -
FWIW:我发现我可以更好地了解标记为可挑选或不使用的内容:
git log --graph --cherry-mark --boundary --format="..." A...B(cherry-mark仍会提到 are 樱桃的提交-picked,并用=表示它们,--graph --boundary对可以更清楚地了解图表哪一侧的提交)