git

https://suzuken.hatenablog.jp/entry/2018/12/05/155040

ファイルの中身を検索

git grep

過去のcommitにあったすべてのコードから正規表現で検索する

$ git grep '<regexp>' $(git rev-list --all)

pathを指定する場合は以下

$ git grep '<regexp>'  $(git rev-list --all -- path/to/dir) -- path/to/dir
  • -w: wordマッチ
  • -v: 一致しない
  • -I: binaryを無視

変更内容を検索

コミットの内容をキーワード検索できる

コミットメッセージとコミットの内容の両方を検索

$ git log -S '<word>'

-S オプションで文字列をルックアップできる。 -G だと正規表現がつかえる。

$ git log -G 'word' --all

とすると、すべてのブランチ、コミットから検索できる。

コミットメッセージのみ検索

$ git log --grep="<word>"
  • -p | --patch: 差分内容も見れる