你如何找到谁将git提交合并到一个分支?

时间:2012-05-14 15:00:01

标签: git bug-tracking blame

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

我有提交哈希,用于标识引入该文件的提交(简称552a976f1a25f9bad57efb9455e951f6b7b3367f),我知道该文件位于分支staging上。

如何找到将上面的提交合并到staging分支的提交的哈希?我想找到合并的用户和合并的日期。

3 个答案:

答案 0 :(得分:2)

branches

如果我理解正确,你有C5,而你正在寻找C6。如果是这种情况,您可能正在寻找:

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

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

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

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

或探索历史记录的任何图形工具(例如gitk)......

答案 1 :(得分:1)

git log -1 --merges <hash>

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

答案 2 :(得分:1)

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>(它将属于&#34;图形边界&#34; - 标有o而不是*)。

相关问题