我们的git存储库中有一个文件正在工作中,我想找出谁将这个文件合并到一个分支中。
我有提交哈希,用于标识引入该文件的提交(简称552a976f1a25f9bad57efb9455e951f6b7b3367f
),我知道该文件位于分支staging
上。
如何找到将上面的提交合并到staging
分支的提交的哈希?我想找到合并的用户和合并的日期。
答案 0 :(得分:2)
如果我理解正确,你有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
而不是*
)。