2013-08-22 37 views
2

我該如何知道特定的提交ID被提交給哪個分支?僅僅運行git show abc123不會顯示哪個分支已經提交。這個提交哪個分支?

+0

@CarlNorum肯定似乎不是這個問題的重複。差遠了。 – meagar

+0

看起來和我完全一樣。我認爲你的回答假定問題中不存在「第一」。 –

+0

這個問題接近另一個問題,雖然用例不同。它可以作爲一個愚蠢的關閉。謝謝。 – dotancohen

回答

4

找出哪些分支機構在當前的存儲庫包含一個指定的提交嘗試:

git branch --contains <commit> 

爲meagar指出,Git並不跟蹤分支作爲一等公民:他們可能會改名,刪除,重新創建;所以答案可能不像你希望的那樣有意義,例如,它不一定會給你提交最初編寫的分支 - 而是你得到提交當前所屬的(本地)分支。

1

可能能夠通過檢查附加到合併提交的消息來告訴,但是,Git沒有明確地跟蹤它。你並不是想知道一個提交的是什麼分支,因爲它並不重要;分支是臨時性的物體,它們意味着重量輕,而且一旦完成它們就應該消失。此外,一個提交的分支通常不是它所支持的分支。在重塑,擠壓和快速合併之後,「原始」分支的想法最終會變得毫無意義,或者在最壞的情況下徹底混淆。

您可以擔心它,並對日誌文件執行一些取證,但更好的解決方案是接受在「原始」分支上進行提交併不重要。您的提交消息應該表達您需要了解提交的所有內容。

1

如果您不介意使用GUI工具:只需撥打gitk --all,它會列出每次提交的所有分支。

相關問題