130

デフォルトでは、git diffすべての+-行を stdout に出力しますが、私は (devian) マシン (ssh 経由で接続) を持っておりgit diff、エディター (どれがどれかわからない) につながりq、続行するには押す必要があります。

git config をチェッカーしましたが、次のようになります。

$ git config --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=XXX
branch.master.remote=origin
branch.master.merge=refs/heads/master
$ git config --global --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
$ git config --system --list
'/etc/gitconfig': No such file or directory

私が行方不明の場所はありますか?私のマシンに何かが欠けているため、不明なツールはフォールバックか何かでしょうか? どんな助けでも大歓迎です。ありがとう。

4

4 に答える 4

215

デフォルトでは、Git はその diff 出力 (および通常は画面いっぱいを超える可能性のあるすべての出力) をシステムのpagerに送信します。これは、一度に 1 画面分の出力のみを印刷するユーティリティです。コマンドの実行時にページャーを無効にする場合は、--no-pagerGitに渡します。

$ git --no-pager <subcommand> <options>

これは、任意の Git コマンドに対して実行できます。

デフォルトで diff onlyを無効にしたい場合は、次のコマンドをcat実行して diff ページャーを設定できます。

$ git config pager.diff false

すべてのコマンドに対してデフォルトで無効にする場合は、次のコマンドを実行して Git ページャーを設定できますcat

$ git config --global core.pager cat
于 2013-06-13T01:49:10.653 に答える
32

色を気にしない場合はcat、任意のコマンドに単純に使用することもできます。git

だからgit diff | catあなたの場合。

編集: 使用する色を気にする場合は、コメントで指摘されているように:

git diff --color | cat

于 2016-07-08T16:04:54.657 に答える