【问题标题】:Find the git branch or branches from commit id从提交 id 中找到一个或多个 git 分支
【发布时间】:2011-02-20 06:28:27
【问题描述】:

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

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

【问题讨论】:

标签: git commit sha1 git-branch blame


【解决方案1】:

git blame 应该只给你修订和作者,但是:

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

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

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

Proper Name <commit@email.xx>

【讨论】:

  • 非常感谢。所以没有直接的方法:(你能教我如何回溯代码/文件。Git blame 会告诉提交和作者。有没有办法从提交 id 回溯?
  • @Senthil:我回答了 VonC 链接到的问题,您可以通过几种方式回溯。
  • 感谢 Jefromi 也获得了您的链接 :) (stackoverflow.com/questions/2706797/…) @VonC 非常感谢,我正在单独解决合并冲突的作者姓名
猜你喜欢
  • 2021-11-28
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多