このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
git grep のオプションのまとめ記事です。
だいたい次のようにコマンドを与えれば良く、以下でピックアップして説明します。
git grep [<オプション>] <検索パターン> [<検索する場所>] [[--] <pathspec>]
ここでは知っていたら便利かもしれないものだけ取り上げます。
オプション | 意味 |
---|---|
-p または --show-function |
ヒットした行の前にある関数名を出力する |
-C <num> |
ヒットした行の前後数行を出力する |
--break --heading |
ヒットしたファイルのファイル名と、ヒットした行とを別々に出力する |
-F |
正規表現ではなく、素の文字列として検索する |
-E |
拡張正規表現として検索する |
オプション | 意味 |
---|---|
-e <pattern> |
検索する文字列を指定する。複数指定した場合、いずれかにマッチするものを出力する。 |
--and , --or , --not , '(' , ')' |
複合検索。カッコはシェルで特別の意味を持たないようにエスケープすること。例えば、
|
オプション | 意味 |
---|---|
デフォルト | リポジトリに追加されているファイルの working tree を対象とする。 working tree を変更を加えている場合、リポジトリにコミットされている変更前の内容ではなく、変更された内容が検索対象になる。 リポジトリに追加されていないファイルは、対象にならない。 |
--cached |
working tree の代わりに index を検索する。 |
--untracked |
リポジトリに追加されていないファイルも対象にする。 .gitignore などで無視対象になっているものは除く。 |
--no-exclude-standard --untracked |
リポジトリに追加されていないファイルも対象にする。 .gitignore などで無視対象になっているものも含む。 |
--no-index |
gitの管理情報を使用しない。.git ディレクトリが存在しないようなディレクトリでも実行できる。 |
リビジョン (正確には <tree>) | 指定したリビジョンのファイルを対象とする。–cached, –untracked, –no-index は指定できない。 |
pathspec を指定できます。シェルで展開されないように、シングルクォートで囲むと良いです。
指定方法 | 意味 |
---|---|
'foo/bar/*.c' |
foo/bar 以下(サブティレクトリを含む)の *.c にマッチする(working direcutory からの相対パス) |
':/foo/bar/*.c' |
上と同様だが、リポジトリトップからのパス |
':!hoge' |
hoge にマッチするものは除外する |
keisuke.kimura in Livox Mid-360をROS1/ROS2で動かしてみた
Sorry for the delay in replying. I have done SLAM (FAST_LIO) with Livox MID360, but for various reasons I have not be...
Miya in ウエハースケールエンジン向けSimulated Annealingを複数タイルによる並列化で実装しました
作成されたプロファイラがとても良さそうです :) ぜひ詳細を書いていただきたいです!...
Deivaprakash in Livox Mid-360をROS1/ROS2で動かしてみた
Hey guys myself deiva from India currently i am working in this Livox MID360 and eager to knwo whether you have done the...
岩崎システム設計 岩崎 満 in Alveo U50で10G Ethernetを試してみる
仕事の都合で、検索を行い、御社サイトにたどりつきました。 内容は大変参考になりま...
Prabuddhi Wariyapperuma in Livox Mid-360をROS1/ROS2で動かしてみた
This issue was sorted....