search code in git commit history

常常寫到一半看到過去的一段 code,內心的 OS 不禁嘶吼「WTF 怎麼會這樣寫」,這時候就只好回去找是哪一次 commit,但問題來了,每個 file commit 數量這麼多要怎樣找?還好 git 有提供查詢的功能(淚奔~~~)

如果只是要查詢專案目前的 source 可以使用下面這行,REGEX 就是你想查詢的條件,當然還有很多參數可以帶(請參考:http://git-scm.com/docs/git-grep)

git grep REGEX

如果是要收尋整個專案所有過去的 commit 可以使用下面這行,SEARCH_STRING 就是想要搜尋的字串,FILE_PATH 檔案的路徑,如果是想要搜尋整個專案可以使用「.」,詳細參數可參考:http://git-scm.com/docs/git-log
git log -S SEARCH_STRING FILE_PATH

相關連結
http://git-scm.com/

沒有留言:

張貼留言