は、通常、私はgit grep
を発行したとき、それが唯一のインスタンスサブディレクトリにあるときにツリー全体でgrepを実行するには?
$ cat A
1
$ cd d
$ cat B
1
$ git grep 1
B:1
$ cd ..;git grep 1
A:1
B:1
のために、下記のカレントディレクトリを検索しますどのように私は、「ツリー全体、私がいるよどんなに現在の作業ディレクトリを検索」git grep
を伝えることができますか?
は、通常、私はgit grep
を発行したとき、それが唯一のインスタンスサブディレクトリにあるときにツリー全体でgrepを実行するには?
$ cat A
1
$ cd d
$ cat B
1
$ git grep 1
B:1
$ cd ..;git grep 1
A:1
B:1
のために、下記のカレントディレクトリを検索しますどのように私は、「ツリー全体、私がいるよどんなに現在の作業ディレクトリを検索」git grep
を伝えることができますか?
Gitのあなたの.gitconfig
ファイルにこれを追加することができますので、シェルコマンドは、常にトップレベルのディレクトリ(git config
man pageを参照)で実行されている実行別名:
[alias]
rgrep = !git grep
また、あなたが取得するgit rev-parse --show-toplevel
を使用することができますあなたは、スクリプトまたは別名の基礎としてgit grep
に渡すことができ、ルートディレクトリ、:
git grep $pattern -- `git rev-parse --show-toplevel`
はそのD意志grepall
エイリアスを作るためにあなたのGitの設定ファイルにこれを追加あなたが望むもの:
[alias]
grepall = !git grep
(非ネイティブエイリアス。 !
で始まるものは、常にリポジトリのトップレベルから実行されます。)
まだ理想的ではありません。パスは現在のディレクトリからは表示されないため、感謝します。 –
:/
マジックパスで述べたように、このおよび他のコマンドのためのGit 1.9.1に
git grep pattern -- :/
は私がいることを知っていたが、それはとても長く、不格好だ...私は答えを更新 –
のgrep-ALL' 'のようなものを希望;) – georgebrock
をまだ理想的ではなく、パスがトップレベルから実行されませんので、しかし、素敵な。 –