7

端末に出力していますが、出力を色付けするために、Git が端末に出力していることを正しく検出していません。私の質問は、「出力が端末にある場合にのみ色が使用される」と書かれているとき、git-config(1) が実際に何を意味するのかということです (このフレーズは、color.ui や color などの複数の構成記述の最後に表示されます)。 。ブランチ)?つまり、Git は端末に出力しているかどうかをどのように判断し、自分の端末が実際に端末であることを Git に知らせるために環境設定を変更するにはどうすればよいでしょうか?

詳細:
Windows で Cygwin を使用して rxvt ターミナルを使用しています。MSysGitもインストールしています。Git 構成設定を行うと、次のようになります。

[color]
    ui = auto
    branch = auto
    status = auto

端末出力にはまだ色がありません。ただし、切り替えると

[color]
    ui = always
    branch = always
    status = always

次に、正しい色の出力があります。ただし、実際の非終端ケースを正しく処理するには、「常に」ではなく「自動」に戻す必要があります。したがって、「自動」を正しく機能させるために、環境を変更して、rxvt + Cygwin が色をサポートできる端末であることを Git に認識させるにはどうすればよいですか?

(PS. Cygwin バージョンの Git は、この比較的小さな色の問題よりもはるかに大きな問題があるため使用できません。Cygwin バージョンに切り替えるようにという返信はしないでください。)

ご協力いただきありがとうございます!

4

1 に答える 1

2

端末 (つまり tty セッション) に送られる出力と別のプロセスにリダイレクトされる出力の違いを検出することをカバーするこの質問を見る価値があるかもしれません。これが「端末に行く」という言い回しで git が意味することであり、出力は実際には tty セッションに送られると仮定しています。

于 2012-08-26T19:32:50.707 に答える