3
如何通過我的git歷史記錄查找包含指定字符串的僅添加的提交?git log - 查找指定字符串的附加內容
例如,我如何找到所有含有System.out.println
或debugger
的提交的提交。
我知道能夠供給至所述git log
參數-S
的,但它包括含有加法或減法指定的字符串的所有的提交。
有沒有一種自然的方式來做到這一點?
如何通過我的git歷史記錄查找包含指定字符串的僅添加的提交?git log - 查找指定字符串的附加內容
例如,我如何找到所有含有System.out.println
或debugger
的提交的提交。
我知道能夠供給至所述git log
參數-S
的,但它包括含有加法或減法指定的字符串的所有的提交。
有沒有一種自然的方式來做到這一點?
試試下面的一個 -
要搜索提交日誌對於給定的字符串:
git log --all --grep='specific string'
要搜索提交的實際內容存儲庫中的:
git grep 'specific string' $(git rev-list --all)
它會給出給定文本的所有實例,包含文件名和承諾。
希望這是你想要的。
更新
檢查以下兩個鏈接也 -
感謝您的答覆。第一個命令不排除提供的字符串的減法。第二個命令使用'git grep',它似乎在當前工作空間中搜索內容,而不是通過搜索git歷史記錄。我正在特別尋找引入加法的點。我可能不清楚這一點 - 我相應地編輯了這篇文章。 – 2014-12-05 03:56:42
你能解釋一下「命令不排除通過提供的字符串減法」嗎? 你的意思是 - 哪個文件是新添加的?如果某個文件在相同的提交中被刪除,該文件將不會顯示 - 是嗎? – royki 2014-12-05 04:03:50
例如,我的意思是,它會顯示提交,其中「System.out.println」已添加到文件中,並且還會顯示提交,其中「System.out.println」已從文件中刪除。我只喜歡它添加的提交。 – 2014-12-05 12:43:56