7

ターミナルでGitを使用しています。変更を加える必要がある場合は、何を変更したかを確認するために使用git diffします。その出力結果をターミナルに残したいので、を押した後に確認できます。をQ押すQと結果がすべて消えてしまうからです。

4

2 に答える 2

17

これは、Gitがポケットベルを介して出力しているために発生します。代わりに、以下を使用してください。

git --no-pager diff

デフォルト設定ではポケットベルを使用するように設定されており、cat代わりにこのデフォルトを使用するように変更して、を入力する必要がないようにすることができ--no-pagerますgit config --global core.pager cat詳細については、こちらのドキュメントをご覧ください。


ページャーへの出力STDOUTおよびページャーを介した出力ははるかに複雑であり、通常のUnixリダイレクトおよびパイプの範囲を超えるツールが必要です。出力をSTDERRwithteeにリダイレクトし、パイプをにリダイレクトすることができlessます。これにより、必要な錯覚が得られます。これはハックであり、STDERR

git diff | tee /dev/stderr | less

頻繁に使用する場合は、これをエイリアスにすることをお勧めします。

于 2012-12-22T15:35:45.073 に答える
11

less一般的に、私も中身が消えるのは好きではありません。通常、LESS環境変数をeFRX次のように設定します。

export LESS=eFRX

Xコンテンツの削除を停止するのはそのためです。はF、1 画面分のコンテンツしかない場合は終了するように指示します。は ANSI カラー コードを解釈するのRに役立ちます (これは に必要ですgit diff) X。終了する前に画面のクリアを停止します。

それはあまりにも使用するいくつかの他のプログラムであなたを幸せにしますless.

于 2012-12-23T10:43:30.373 に答える