2009-12-29 118 views
16

我有一個Git倉庫,裏面有兩年的歷史。我有一個單獨的文件,爲此我希望找到所有提交,併爲每個提交:所有其他提交的文件。我們假設這個文件名爲file.txt。我可以用這個文件作爲參數運行gitk:如何在Git中跟蹤單個文件的歷史記錄時查看完整提交?

gitk file.txt 

我確實得到了每個提交。但是,在gitk中瀏覽該樹只會顯示對file.txt所做的更改。我想看看該提交中更改了哪些其他文件。我可以複製粘貼每個提交SHA1並顯示它,但有超過一百個與此文件相關的提交。

我注意到屏幕右下角的「註釋」部分是空的(只顯示文字「評論」)。也許可以在那裏顯示一個文件列表?你想要什麼

+0

對於EOL別的地方看到http://unix.stackexchange.com/questions/10277/ignore-whitespaces-changes-in-all-git-commands – 2011-05-02 11:33:58

回答

15

在命令行中,

git log -p --full-diff file.txt 

將輸出。

如果您必須在gitk中看到它,請使用no參數調用它,找到提交「觸摸路徑」file.txt,並且提交包含該文件將爲粗體。您可以使用「向上」和「向下」按鈕遍歷它。

+0

我已經編輯我的答案,希望這是你想要的。 – iamamac 2009-12-29 13:41:24

+0

優秀!正是我需要的。非常感謝(對不起,我只能贊成並接受它) – 2009-12-29 22:55:41

7

你實際上可以在gitk中使用'--full-diff'功能,而不是直接從命令行。 只需做到以下幾點:

  • 啓動gitk通常的方式,例如:gitk file.txt
  • 選擇「視圖 - >編輯觀點......」從菜單中。確認您正在編輯'命令行'視圖。
  • 在「附加參數到git日誌」旁邊的編輯框中,輸入--full-diff
  • 單擊「應用」或點擊[F5]。

這應該做到這一點。爲什麼gitk不允許你從命令行使用它對我而言是個謎,因爲它是一個非常有用的選項。

3

從郵件列表另一種解決方案在2008日早:

嘗試在 喜好菜單關閉選項「限制的diff上市路徑」(或增加「設置爲0 limitdiffs」你〜 /.gitk)。

+0

這是唯一對我有用的解決方案..〜/ .gitk不起作用,但在首選項中更改可以正常工作 – nayana 2016-06-16 11:32:43

相關問題