Gitサブモジュールforeachが各モジュールに対して開かないようにする

Gitサブモジュールforeachが各モジュールに対して開かないようにする

時々私が使用するgitサブモジュールを介してgrepを実行する必要があります。

git submodule foreach 'git grep x'

ただし、zshに切り替えた後は、オプションなしで各サブモジュールが少ない数のプロンプトを開くことがわかりました。私はすべての出力を端末に印刷することを好みます。

私の現在の解決策は、次を呼び出すことです。

git submodule foreach 'git grep x' > /tmp/a && cat /tmp/a

これで私が望むことを達成しましたが、オプションやエレガントなソリューションが欠けているような気持ちを消すことはできません。それを持って?

ベストアンサー1

gitで使用するページネーターを変更してみてください:

GIT_PAGER="cat" git submodule foreach 'git grep x'

または、より少なく使用したいが、出力が画面から外れたときにのみ使用したい場合:

GIT_PAGER="less -FX" git submodule foreach 'git grep x'

プロジェクトごとに設定されたページネーターを使用することもgit config、もちろんグローバルに環境変数を設定することもできます。

おすすめ記事