git diff を標準出力に書き込むにはどうすればいいですか? 質問する

git diff を標準出力に書き込むにはどうすればいいですか? 質問する

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

Git の設定を確認したところ、次のようになりました:

$ 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

見落としている場所はありますか? 不明なツールは、私のマシンに何かが欠けているためのフォールバックか何かでしょうか? どのような助けでもいただければ幸いです。ありがとうございます。

ベストアンサー1

デフォルトでは、Gitはdiff出力(および一般的に画面いっぱいを超える出力)をシステムのページャこれは、一度に 1 画面分の出力のみを印刷するユーティリティです。コマンドを実行するときにページャーを無効にしたい場合は、--no-pagerGit に以下を渡します。

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

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

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

$ git config pager.diff false

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

$ git config --global core.pager cat

おすすめ記事