git grepって何?
gitで管理されているファイル内を検索するコマンドです。
エディタでも検索はできますが、gitを管理しているプロジェクトでは、git grepを利用することができます。git grepを使うことによりGithubなどチームでコミュニケーションを円滑にすることができます。
文字検索
特定の文字を含んでいるコードを探す時についてまとめます
特定の文字を含む
hogeというワードを探したい場合は次のようにします。
git grep hoge
特定の文字含まない
「-v
オプションを追加」すると特定の文字を除いた検索ができます
git grep -v hoge # hogeの文字を含まない
複数の文字を含む
OR検索
「-e
オプションを追加」するとOR検索できます。
git grep -e hoge -e mew # hoge または mew を含む文字を探す
AND検索
「 -e
オプションと --and
オプションを追加」するとAND検索をできます。
git grep -e hoge -e --and mew # hoge かつ mew を含む文字を探す
個人的には git grep
した値を grep
することが多いです。
git grep hoge | grep mew # hoge かつ mew を含む文字を探す
正規表現をつかう
「""
(ダブルコーテーション)で囲う」「-e
オプションを追加」すると正規表現を扱うことができます。
# 「""(ダブルコーテーション)で囲う」
git grep "Hoge$" # 文末がHogeのものが対象になる
# 「-e コマンドを追加」
git grep -e ^Hoge # 文頭がhogeのものが対象になる
大文字小文字両方調べる
大文字小文字区別せず検索する場合は「 -i
オプションを追加」でできます。
git grep -i hoge # hoge Hoge HOGE が対象になる
ファイル検索
特定の文字を含むファイル
「-l
オプションを追加」すると文字列を含んだファイル名のみを出力することができます。
git grep -l hoge # hoge を含むファイルを探す
特定の文字を含まないファイル
「-L
オプションを追加」すると -l
オプションとは逆に文字列を含まないファイルを検索できます。
git grep -L mew # hoge を含まないファイルを探す