11

我们的 git 存储库中有一个文件在工作中,我想找出谁将这个文件合并到一个分支中。

我有识别引入文件的提交(比如说552a976f1a25f9bad57efb9455e951f6b7b3367f)的提交哈希,并且我知道文件在分支上staging

如何找到将上述提交合并到staging分支中的提交的哈希?我想找到合并的用户,以及合并的日期。

4

3 回答 3

2
git log -1 --merges <hash>

将显示自提交以来最近的合并提交日志<hash>(包括它本身)。

于 2012-05-14T15:10:38.673 回答
2

分支机构

如果我理解正确,您有 C5,并且您正在搜索 C6。如果是这种情况,您可能正在寻找这个:

git rev-list --merges HEAD --not <hash> --reverse

它将为您提供哈希提交后发生的合并提交列表。我HEAD在此命令中使用,相信您master在示例中或staging在您的情况下。

在不太复杂的环境中,您可能正在寻找提交后发生的第一次合并......但如果您没有这种机会,您可以尝试:

git log --graph --decorate HEAD...<hash>^

或任何用于探索您的历史的图形工具(例如gitk)...

于 2012-05-15T09:54:22.217 回答
2
git log <commit-id>..<branch> --ancestry-path --merges --reverse

<commit-id>将为您提供自您感兴趣以来发生合并列表以及<branch>. 根据您的合并工作流程,您感兴趣的合并可能是列表中的第一个或下一个。

将历史的相关部分可视化将很有帮助

git log --oneline --graph --decorate --ancestry-path --boundary <commit-id>..<branch>

在图表底部附近寻找您<commit-id>的(它将属于“图表边界” - 标有o而不是*)。

于 2017-06-01T11:43:05.343 回答