2015-09-04 105 views
4

我需要在我的存儲庫的所有文件和所有文件的所有版本中搜索一個單詞。這是因爲我不知道什麼時候,但是我的一個文件中沒有更多的代碼,我想知道何時刪除並恢復它。如何搜索一個短語到所有的git提交?

+2

請參閱:http://stackoverflow.com/questions/2928584/how-to-grep-search-committed-code-in-the-git-history –

回答

1

什麼你希望做的,是grep的(documentation on git-grep)通過在資源庫中的所有修訂的歷史:

$ git grep <your_search_term> $(git rev-list --all) 

<your_search_term>是一個正則表達式。

輸出將包含所有提交,包括找到的文本/表達式。

2

我不知道這是否是你的意思,但如果你想找到所有提交哪裏提交信息中包含給定詞,使用

$ git log --grep=word 

如果你想找到的所有承諾,其中「字」加入或文件內容刪除(更精確地說:這裏的「字」改爲OCCURENCES數),即搜索提交內容,使用所謂的「鶴嘴鋤」搜索與

$ git log -Sword 

好運:)

+0

謝謝,我會嘗試。第二個(-S)是我的必需品。 – ZioBudda

+0

其實我在stackoverflow上得到了另一個問題,我所做的只是搜索谷歌的「如何grep git提交」,或者,「如何搜索git提交」 –

+0

無論如何,我很樂意幫助 –