2017-03-01 107 views
2

我想檢查哪些文件已被修改爲與一個特定文件同時。具體來說,我想獲取這個特定文件的歷史記錄,並且對於這個歷史的每個提交,我想知道哪些文件受到影響。git:獲取沿着一個特定文件被修改的文件列表

當我做git log --name-only時,我得到了提交的完整歷史記錄,以及每個提交的已修改文件列表。

現在,如果我做了git log <file>,我會得到涉及這個特定文件的提交歷史記錄。

git log --name-only <file>但是,不包括每個提交修改的文件的完整列表。相反,它只顯示我<file>,這是沒有用的說實話。 有什麼辦法讓這個命令包含所有文件?

回答

2

您可以管道這兩個命令。

$ git log --format="%h" <file-name> | xargs git show --name-only 

這裏:

git的日誌--format = 「%H」:選擇提交-SHA中給定文件被更改

xargs的只是--name-混帳秀:將選定的提交作爲參數並顯示完整更改的文件名。

1

使用git-rev-list到列表提交影響特定路徑,然後git-show讓每個修改過的所有文件提交:

git show --name-only $(git rev-list HEAD -- PATH)

0

你也可以使用TortoiseGit工具(基於Git UI工具,類似於TortoiseSVN的) 對於相同的。

安裝TortoiseGit-

  1. 右鍵點擊該文件,並在菜單轉到TortoiseGit。

  2. 點擊顯示日誌

它將顯示該文件的提交歷史記錄以及包含在這些提交中的其他文件。它還會顯示文件中的更改。

相關問題