Wie kann ich separate Farben für aktuelle, lokale und ferne Referenznamen erzielen, wenn ich ein benutzerdefiniertes Git-Protokollformat verwende?


16

Ich verwende ein benutzerdefiniertes Git-Protokollformat. Ich habe color.ui=truein meine gesetzt .gitconfig. Zum Beispiel dieses einfache Format:

git log --pretty=format:"%h %d %s" --decorate

Dies würde so etwas wie drucken

52a41e0 (HEAD, local) Commit message foo
185bd17 (remote) The commit message

HEAD, local, remote wird ohne Farbe ausgegeben, git log --oneline --decoratewährend HEAD (fett cyan), local (fett grün) und remote (fett rot) mit Farbe ausgegeben werden . Jetzt kann ich das %dmit so etwas umschließen %Cred%d%Creset, dass alle Ref-Namen rot werden.

Wie kann ich aktuelle, lokale und ferne Referenznamen mit unterschiedlichen Farben versehen, wenn ich ein benutzerdefiniertes Format mit Git-Protokoll verwende?


Ich denke nicht, dass es möglich ist: stackoverflow.com/questions/5889878/color-in-git-log/…
VonC

Ack, sah nicht nach Stapelüberlauf aus. Das ist aber schade.
Ben Doerr

@VonC Vielleicht solltest du das als Antwort hinzufügen?
NN

@NN habe ich. Auf Stapelüberlauf. Über eine der zehntausend Fragen zu Git.
Vom

Antworten:



4

Der git log --decoratewird standardmäßig setzen:

  • der KOPF in Cyan
  • die entfernten Zweige in rot
  • der tag in grün

und kann durch geändert werden color.decorate config .

Aber die git log --formatbieten keine Möglichkeit, gezielt die HEAD oder Fernbedienungen oder anzuzeigen Filiale: Alle drei werden angezeigt durch %d, mit einer Farbe möglich.

- VonC zu "Color in git-log"

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.