Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

git-grepの使い方

More than 1 year has passed since last update.

この記事なに?

  • gitで管理されているソースだけgrepするのに使えるgit-grepコマンドを紹介する記事
  • IDEのgrepも便利だけど、Githubのプルリクに貼るのには不便
  • でも、git-grepコマンドであれば、プルリクに貼ることもできて便利!!

使い方

公式ドキュメントはこちら
https://git-scm.com/docs/git-grep

行番号を表示する場合はこちらを実行しておく

出力結果に行番号を表示する
$ git config --global grep.lineNumber true

正規表現を使いたい

-E オプション

$ git grep -E "regexp"

複数の単語が絡んだ文字を検索したい

--and オプション

$ git grep -e 'first word' --and -e 'second word'

単語でマッチングさせたい

-wオプション
単語違いを弾くことができる

$ git grep -w 'service'
input
service
services
service/hoge
service-hoge
output
service
service/hoge
service-hoge

ファイル名のみ出力させたい

-l オプション
指定した単語を含むファイル名のみ出力できる

$ git grep -l 'hoge' 

大文字・小文字両方検索したい

-i オプション
大文字・小文字両方検索できる

$ git grep -i 'hoge'

特定のディレクトリのみ検索したい

-- オプション
特定のディレクトリのみ検索できる

$ git grep 'hoge' -- 'app/controllers/'

特定のディレクトリを除外したい

-- オプションでディレクトリの指定に ':!' を付ける
特定のディレクトリだけ除外できる

$ git grep 'hoge' -- ':!app/assets/'
ffggss
サーバーサイドエンジニアです。 ジムで格闘技系のレッスンを受けるのが趣味です
https://github.com/YukiFujisawa
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away