2016-06-29 10 views
2

Ich neige dazu, git log --all --graph --oneline viel zu verwenden.Git log alle, Anzeige aktuellen Commit unterschiedlich

Wenn mein aktueller Zustand hinter dem letzten Commit steht, finde ich kaum, wo ich auf dem Graphen bin.

Gibt es einen Weg, die allgemeine Anzeige (oneline, graph) zu konservieren, um die aktuelle Revision in einer bestimmten Weise hervorzuheben?

Antwort

2

können Sie verwenden, um die --pretty Möglichkeit git log umfassen die references (Zweige, Tags und HEAD) in der Liste der Commits:

git log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s' 

wo:

  • %C(color) und %Creset Änderung der Farbe der Ausgabe und setzen Sie es auf die Standardfarbe, bzw.
  • %h expandiert zu das Commit abgekürzten hash
  • %d auf die Referenzliste erweitert, die auf den Punkt commit
  • %s auf die erste Zeile der Commit-Nachricht erweitert (d.h. die „Zusammenfassung“)

Sie können die vollständige Liste der Platzhalter im Pretty Formats Abschnitt der git log Dokumentation.

Natürlich würden Sie nicht diese alle jedes Mal, wenn Sie auf die Geschichte aussehen wollen eingeben möchten, so lassen Sie uns ein alias dafür erstellen:

git config --global alias.lg \ 
    "log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s'" 

an welcher Stelle Sie einfach git lg sagen kann, .

Alternativ können Sie das Standard ziemlich Format angeben für git log zu verwenden, git show und git whatchanged in der format.pretty Konfigurationseinstellung:

git config --global format.pretty '%C(green)%h%Creset %C(cyan)%d%Creset %s' 
+0

Nizza, denken Sie, es ist möglich, die 'pretty' anpassen haben ein anderes Highlight für das aktuelle Commit? – nobe4

+1

Leider nein. Nicht, dass ich es zumindest wüsste. Aber Sie können immer ein Skript schreiben, das nach einer Zeile sucht, die "HEAD" enthält, indem Sie regex verwenden und eine andere Farbe anwenden, bevor Sie es an stdout senden. Kann dann die Ausgabe von 'git log' durch das Skript in Ihrem Alias ​​pipen. Angenommen, Ihr Skript heißt "highlight-head", könnten Sie den Alias ​​wie folgt schreiben: 'git config --global alias.lg '! Git log --all --graph --pretty =' '| Highlight-Kopf "' –