我需要找到從存儲庫中的任何文件添加或刪除的特定字符串的每個實例。Git搜索回購所有曾經包含字符串的文件的名稱
到目前爲止,我已經在各種組合嘗試
git log -S'string' --all
git log --follow -p path/to/file
git show --pretty="format:" --name-only <hash>
git diff $(git log -S'string' -i --all --pretty="%H") | tee output.txt
。
我所能得到的是成千上萬文件的列表,這些文件是涉及'字符串'的提交的一部分。我只需要列出那些在某些時候包含'string'的文件。
+1看起來很令人費解的信任,這將工作 –
+1我不知道'-p'會與'-S'組合時只輸出匹配文件的補丁,非常有用! – georgebrock
@GabrielePetronella'git log'做了很多努力 - grep/sed只顯得複雜,但實際上並不重要。有一個diff選項來列出文件名會很好,但是我還沒有找到一個可以與'git log'一起工作的OP,因爲OP在這裏需要它。 – user4815162342