web-dev-qa-db-ja.com

git pagerを無効にする方法はありますが、特定のコマンドに対してのみですか?

たとえば、ポケットベルをgit logで有効にするのは好きですが、git diffは好きではありません。これは、独自のビジュアル差分ツールが表示され、差分の後にコマンドラインで「q」を押す必要がないためです。で行われます。これを行う方法はありますか?

14
CaptSaltyJack

pager.diff構成変数を設定して、特定のサブコマンドのポケットベルを無効にすることができます。 git-config(1)pager.<cmd>を参照してください。

git config --global pager.diff false

現在のリポジトリに対してこの構成変更のみを行う場合は、--globalを省略してください。

23
Chris Johnsen

優れたソリューションではありませんが、実行中のコマンドを判別し、出力をcatにパイプして端末の検出を排除する、gitラッパーを使用できます。

#!/bin/sh
case "$1" in)
  diff) git "[email protected]" | cat;;
  *) exec git "[email protected]";;
esac

もちろん、私のサンプルプログラムは完全に頭がおかしいです。プログラムで「$ 1」をハードコーディングする代わりに、オプションをスキップする必要があります。

0
Seth Robertson