Gibt es eine Möglichkeit, die Ausgabe für git (oder einen beliebigen Befehl) einzufärben?
Erwägen:
baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: app/models/message_type.rb
#
no changes added to commit (use "git add" and/or "git commit -a")
baller@Laptop:~/rails/spunky-monkey$ git add app/models
Und
baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: app/models/message_type.rb
#
Die Ausgabe sieht gleich aus, die Informationen sind jedoch völlig anders: Die Datei wurde von "nicht bereit" auf "Bereit für Festschreibung" geändert.
Gibt es eine Möglichkeit, die Ausgabe einzufärben? Beispielsweise sind nicht bereitgestellte Dateien rot, bereitgestellte grün?
Oder sogar Changes not staged for commit:
zu rot und # Changes to be committed:
zu grün?
Arbeiten in Ubuntu.
EDIT: googeln diese Antwort gefunden , die funktioniert gut: git config --global --add color.ui true
.
Gibt es jedoch eine allgemeinere Lösung für das Hinzufügen von Farbe zu einer Befehlsausgabe?
Antworten:
Sie können
[color]
in Ihrem einen Bereich~/.gitconfig
mit zB folgendem Inhalt anlegenSie können auch genau steuern, was Sie auf welche Weise gefärbt haben möchten, z
Ich hoffe, Sie haben damit angefangen. Und natürlich benötigen Sie ein Terminal, das Farbe unterstützt.
quelle
[color "status"]
Abschnitt, den ich hinzugefügt habebranch = yellow
.Sie möchten wahrscheinlich verwenden
Der
auto
Teil besagt, dass git nur versucht, Farben auf Terminals zu verwenden, die dies unterstützen, und dass Sie keine ANSI-Sequenzen erhalten, wenn Sie die Ausgabe von git-Befehlen beispielsweise in eine Datei umleiten. Das Setzen auftrue
ist dasselbe wieauto
, und dies ist auch die Standardeinstellung seit Git 1.8.4.Dies
color.ui
ist eine Metakonfiguration, die alle verschiedenencolor.*
Konfigurationen enthält, die mit git-Befehlen verfügbar sind.Dies wird ausführlich in erklärt
git help config
.quelle
true
(woraufauto
deutet das hin) und color.ui erklärenalways
? Ich habe die Dokumentation gelesen, aber ich verstehe den Unterschied immer noch nicht.quelle
Die akzeptierte Antwort gibt die gebräuchlichste Lösung an. Wenn Sie die Konfiguration aus irgendeinem Grund nicht dauerhaft ändern müssen, können Sie die Konfiguration für einen einzelnen git-Befehl überschreiben:
Zum Beispiel:
Getestet: Wird von Git 2.4.6 unterstützt, wird von Git 1.7.1 nicht unterstützt.
quelle
less
wie ich hineinpaspeln, können Sieless
die Farb-Escape-Zeichen über an das Terminal weiterleitenless -R
.quelle
Sie können dies mit Arbitrary Command Output Colourer tun . Meistens funktioniert es, aber ich habe nicht herausgefunden, wie man einen Fehler umgeht, bei dem Eingabeaufforderungen, die Eingaben erwarten, nicht angezeigt werden und Sie nicht einfach die bekanntermaßen erforderliche Eingabe eingeben und die Eingabetaste drücken können, um in jedem Fall fortzufahren.
Beispiel
~/.acoc.conf
fürgit
:..was funktioniert gut zusammen mit
alias git="acoc git"
in.bash_profile
.quelle
acoc
?Für eine farbige
git diff
Leitungless
funktioniert dies wie folgt:quelle
Ich weiß, dass der Posten vier Jahre alt ist, aber niemand aus meinem Lager hat geantwortet, der Farbenblinde. Wenn Sie Farben unterscheiden können, ignorieren Sie meinen Beitrag.
"git status" zum Beispiel gibt Text aus, der weiß auf Hintergrund / schwarz auf weißem Hintergrund (lesbar), dunkelgrau zum Löschen (unlesbar vor schwarzem Hintergrund, aber lesbar vor weißem Hintergrund) und mittelgrau zum Hinzufügen (Gerste lesbar auf schwarz) ist Hintergrund, auf weißem Hintergrund unleserlich). Früher habe ich den Hintergrund meines Terminalfensters auf / von Weiß / Schwarz umgeschaltet, damit ich den unlesbaren Text lesen konnte. Eine einfache Lösung ist mehr:
Dadurch wird der gesamte Text in einem Standardterminalfenster mit weißem oder schwarzem Hintergrund lesbar.
quelle
color.ui = never
).oder schalte alle / die meisten Farben aus über:
quelle
git
und wollte, dass dies in einem globaleren Sinne geschieht. Wenn Sie eine solche Methode kennen, bearbeiten Sie bitte Ihre Antwort, um dies zu erklären.