13

通常、発行git grepすると、現在のディレクトリ以下のみが検索されます。たとえば、

$ cat A
1
$ cd d
$ cat B
1
$ git grep 1
B:1
$ cd ..;git grep 1
A:1
B:1

git grep「現在の作業ディレクトリに関係なく、ツリー全体を検索する」ことをどのように伝えることができますか?

4

3 に答える 3

11

シェル コマンドを実行する Git エイリアスは常に最上位のディレクトリで実行されるため ( git configman ページを参照)、これを.gitconfigファイルに追加できます。

[alias]
    rgrep = !git grep

または、 を使用git rev-parse --show-toplevelしてルート ディレクトリを取得し、それをgit grepスクリプトまたはエイリアスのベースとして渡すことができます。

git grep $pattern -- `git rev-parse --show-toplevel`
于 2012-06-03T07:25:58.150 に答える
0

これをGit構成ファイルに追加して、必要な処理を実行するgrepallエイリアスを作成します。

[alias]
    grepall = !git grep

(非ネイティブエイリアス、たとえば、で始まるエイリアスは、!常にリポジトリの最上位から実行されます。)

于 2012-06-03T07:32:28.640 に答える