如果我有两个分支,并且一个已经合并到另一个分支中,我怎样才能从命令行中找到合并发生在哪个提交中而无需手动检查?
问问题
58 次
2 回答
1
(很抱歉之前的回答,阅读问题完全错误。)
您有一种情况,您在分支上curbranch
(在 commit 处HEAD
,但我们只curbranch
在下面使用),并且您认为该分支other
已合并到curbranch
过去。正如在链接的问题中一样,诀窍是指定合并提交curbranch
是other
. 根据git-rev-list 文档,这是--ancestry-path other..curbranch --merges
(您可以将其传递给git log
等,或在脚本中运行以提取 SHA1 值并对它们进行进一步处理)。
这有一些小问题。具体来说,仅仅因为某些东西在该祖先路径中并且是合并并不意味着它是 into 的other
合并curbranch
。例如,也许other
被合并到accumulator
,然后又accumulator
被合并到curbranch
:
..- B - C - D - E - F <-- curbranch
/
..- G - H - I <-- accumulator
/
..- J <-- other
在这里,提交H
和E
都是 (1) 的后代other
,(2) 的祖先curbranch
,以及 (3) 合并。您将看到两个提交。这可能是也可能不是你想要的。
于 2013-10-31T00:28:55.810 回答
0
您可以使用:
git log --merges --oneline
它只会打印合并提交。
于 2013-10-31T00:26:17.977 回答