2010-05-17 64 views
11

其實我試圖得到關於合併衝突的報告。我使用'git blame'來查看誰改變了哪一行,但我找不到分支和存儲庫名稱信息。從提交ID找到git分支或分支

有沒有辦法從'git blame'或從提交ID'找到一個文件的存儲庫名稱,分支名稱和作者名稱,以便每當發生合併衝突時,我都可以發送電子郵件給已觸及的作者該文件/行來解決它。

+0

的可能的複製[瞭解哪個分支git的承諾來自何方(http://stackoverflow.com/questions/2706797/finding-what-branch-a-git-commit-came -from) – 2015-11-26 13:20:30

回答

9

​​應該只給你的版本和作者,但:

  • 如「Git: Finding what branch a commit came from」所提到的,你不能輕易找準犯下的情況下(分支可以改名爲分支,移動,刪除...),儘管git branch --contains <commit>是一個開始。
  • 我懷疑你可以找到它來自的存儲庫(除非可能通過努力尋找git log結果,試圖找到來自ref/remotes命名空間的提交的父代)。

現在,如果您在存儲庫的頂層有合適的.mailmap,那麼您也將擁有正確的電子郵件地址。

在簡單的形式中,文件中的每一行由作者,空白,以及(由<>封閉)在提交所使用的電子郵件地址映射到名稱的規範實名。例如:

Proper Name <[email protected]> 
+0

非常感謝。所以沒有直接的方法:( 你可以教我如何回溯代碼/文件。Git怪將告訴提交和作者。有沒有辦法從提交ID回溯? – 2010-05-17 12:49:32

+0

@Senthil:我回答了這個問題VonC鏈接到幾種你可能能夠回溯的方式 – Cascabel 2010-05-17 17:36:09

+0

謝謝Jefromi也有你的鏈接:)(http://stackoverflow.com/questions/2706797/git-finding-what-branch-a-commit-came- from/2707110#2707110) @VonC非常感謝,我獨自解決了合併衝突時的作者姓名 – 2010-05-18 10:56:00