git log で続行のプロンプトが表示されないようにするにはどうすればいいですか? 質問する

git log で続行のプロンプトが表示されないようにするにはどうすればいいですか? 質問する

私は、一緒に属しているgitリポジトリをいくつか持っていて、それらをループするための簡単なバッチ/bashファイルを持っています。私はよく、ログコマンドを使ってそれらをループし、それらの状態を素早く確認します。これはうまく機能しますが、1つ問題があります。コミットメッセージがコンソールの幅の文字数よりも長い場合(または複数行にわたる場合)、gitは行を表示し、その後に(END)で改行し、q続行します(出力をパイプでもっとまたはそれに似たもの)。例:

> gitloop . "git log --decorate=short --pretty=oneline -n1"
18629ae238e9d5832cb3535ec88274173337a501 (HEAD, origin/master, master) short log

625fb891b9b0b8648459b07ace662ae3b7773c7f (HEAD, origin/master, origin/HEAD, master) short log

dc0838118266ba8570ea338c1faddfe8af0387bb (HEAD, origin/work, origin/master, work, master) oops loooooooooooooong log
-(END)

これは、押す必要があるため、かなり不便ですq何回かに分けて見たいのですが、私は一度にすべてのワンライナーを見たいと思っています。

この動作を無効にするにはどうすればよいですか (できればこのログ形式を維持しながら)?

ベストアンサー1

Git にはページャーを無効にするオプションがあります:

git --no-pager log --decorate=short --pretty=oneline -n1

ポケベルが行をカットし、その動作を維持したい場合は、次のどちらかの方法でパイプしますcut...

git --no-pager log --decorate=short --pretty=oneline -n1 | cut -c 1-$COLUMNS

GIT_PAGER...または、呼び出し前に環境変数を設定します。

GIT_PAGER="cut -c 1-${COLUMNS-80}" git log --decorate=short --pretty=oneline -n1

おすすめ記事