从提交ID中查找git分支或分支

时间:2010-05-17 05:31:17

标签: git commit sha1 git-branch blame

实际上我试图获得有关合并冲突的报告。我使用'git blame'来查看谁更改了哪一行,但我找不到分支和存储库名称信息。

有没有办法从'git blame'或commit ids'中找到文件的存储库名称,分支名称和作者名称,以便每当发生合并冲突时,我都可以向触及该文件的作者发送电子邮件文件/行来解决它。

1 个答案:

答案 0 :(得分:10)

git blame应该只为您提供修订和作者,但是:

  • 如“Git: Finding what branch a commit came from”中所述,即使git branch --contains <commit>是一个开头,您也无法轻易查明已提交提交的分支(分支可以重命名,移动,删除...)
  • 我怀疑你能找到它来自的存储库(除非通过查看git log结果,试图找到从ref/remotes命名空间发出的提交的父级)。

现在,如果您在存储库的顶层有一个正确的.mailmap,那么您也将拥有正确的电子邮件地址。

  

在简单形式中,文件中的每一行都包含作者的规范实名,空格和提交中使用的电子邮件地址(由<>括起)映射到名称。例如:

Proper Name <commit@email.xx>