2014-12-05 40 views
3

如何通過我的git歷史記錄查找包含指定字符串的僅添加的提交?git log - 查找指定字符串的附加內容

例如,我如何找到所有含有System.out.printlndebugger的提交的提交。

我知道能夠供給至所述git log參數-S的,但它包括含有加法或減法指定的字符串的所有的提交。

有沒有一種自然的方式來做到這一點?

回答

1

試試下面的一個 -

要搜索提交日誌對於給定的字符串:

git log --all --grep='specific string'

要搜索提交的實際內容存儲庫中的:

git grep 'specific string' $(git rev-list --all)

它會給出給定文本的所有實例,包含文件名和承諾。

希望這是你想要的。

更新

檢查以下兩個鏈接也 -

git-grep

Search a git repo like a ninja

+0

感謝您的答覆。第一個命令不排除提供的字符串的減法。第二個命令使用'git grep',它似乎在當前工作空間中搜索內容,而不是通過搜索git歷史記錄。我正在特別尋找引入加法的點。我可能不清楚這一點 - 我相應地編輯了這篇文章。 – 2014-12-05 03:56:42

+0

你能解釋一下「命令不排除通過提供的字符串減法」嗎? 你的意思是 - 哪個文件是新添加的?如果某個文件在相同的提交中被刪除,該文件將不會顯示 - 是嗎? – royki 2014-12-05 04:03:50

+0

例如,我的意思是,它會顯示提交,其中「System.out.println」已添加到文件中,並且還會顯示提交,其中「System.out.println」已從文件中刪除。我只喜歡它添加的提交。 – 2014-12-05 12:43:56