2011-09-28 126 views
4

如何查看特定分支的歷史記錄?分支的跟蹤歷史

我一直在創建和合並分支機構。但是,在一個特定分支上例如說new_feature。我想知道已經合併到這個分支的歷史,以及創建了哪個分支?

原因是我有這個new_feature分支,我想知道其他分支合併到了什麼分支,new_feature是從哪個分支製成的?

我對使用任何GUI工具(可能是某些命令行)並不感興趣。 我使用Git版本1.7.5.4和Ubuntu 11.10。

回答

1

git log --oneline --graph --all可能會給你你想要的,而不需要第三方工具。

  • --oneline使提交僅顯示在一行上,而不是更長的默認格式。
  • --graph顯示帶有ASCII字符的分支/合併歷史記錄。
  • --all顯示歷史中的所有分支,而不僅僅是當前的分支。
+1

這也是非常有用的。 git log --decorate = full – ant2009

+0

有一天我會瀏覽所有的git手冊頁。那麼多隱藏的寶石。 (好吧,也許這將需要超過一天...) –

+0

應該是'--all'而不是'-all' – zihaoyu

1

我經常使用tig,它是Git的文本模式存儲庫瀏覽器。但是,Git附帶的gitk程序對於查看存儲庫歷史記錄也很有用,因爲有時分支之間的界限會變得非常複雜,並且在GUI工具中更容易看到。

對於低級歷史記錄,git reflog命令將顯示導致當前(或指定)分支頭移動的所有操作。

3

您只能看到合併提交與git log --merges。只要你沒有混淆你的合併提交信息,你就會看到你合併了哪些分支。 (如果您不想使用HEAD作爲起點,請提供提交/分支/標記作爲參數。)使用其他選項按照您的喜好調整輸出 - 請參閱手冊頁。您可能喜歡--oneline(單行提交摘要)或甚至--pretty=%s(僅打印提交主題)。你也可能喜歡--first-parent,它只遵循合併的第一個父母,阻止它從合併分支報告提交。

瞭解什麼分支的分支開始從有點棘手 - 這不是真正的信息被記錄。您可能會發現它作爲git reflog <branch>輸出中的第一個(底部)條目,如果它足夠近的話。