git grepとは?
git grepコマンドを使えば、 Git管理下のファイルのみを対象としてgrepができます。 シンプルなコマンドですが利便性が高く僕はとても使っています。 わざわざディレクトリを探したり無駄なコード書く手間がほとんど省けます♪基本的な使い方
公式ドキュメントはこちら https://git-scm.com/docs/git-grep これ読んだら基本的に分かるけど英語めんどくさい。って方が多いと思うのでまとめていきます。(自分もその考えです。笑)特定ワードを含む箇所を調べたい(大小小文字を区別する)
基本的にシンプルな例です。大小小文字の区別をするので、注意をしてください! ワードの指定は正規表現(基本)です。正規表現(拡張)を使う場合は、 -eオプションを使います。$git grep -e "検索ワード"
特定ワードを含む箇所を調べたい(大小小文字区別しない)
-iオプションを使います。$git grep -i "検索ワード"
ファイル名のみ出力させたい
-lオプション 指定した単語を含むファイル名のみ出力できる$git grep -l "検索ワード"
正規表現(拡張)で検索する
-Eオプションを使えば、正規表現(拡張)の表現で検索ができます。 例えば↓のように20や00を検索結果として表示してくれる$ git grep -E "[20][00]"
.ebextensions/0020_: mode: "000755"
.env.sample:DB_HOST=aa1cf1lo20067xm.ckinz9qsuqgc.us-west-2.rds.amazonaws.com
単語で検索する
-wオプションを使います。 ただし、次を単語とみなしているようです。 行の先頭で始まる or 頭に単語以外の文字がある 行の終わりで終わるか or 単語以外の文字が続く$git grep -w "検索ワード"
複数の単語が絡んだ文字を検索したい
--andオプション$git grep -e "検索ワード" --and -e "検索ワード2"
まとめ
駆け出しエンジニアなので間違っている部分やわかりにくい点などあるかと思います。 その場合はコメントなど入れていただけるとこれからの成長につながりますのでよろしければお願いします。 【LGTM】を押していただけると飛び跳ねて喜びます。Twitteの方でも呟いたりしておりますのでもしよろしければ遊びにきてください♪