Wie kann ich den Namen von Zweigen in der Ausgabe von git log
anzeigen?
Zum Beispiel mit git log --graph --all
bekomme ich einen schönen Überblick über die Commits , bin aber verwirrt, welche Zeile Master ist und welche zum Beispiel mein Zweig ist.
git
Aktualisierungen zu erfolgen.Antworten:
Probieren Sie die Dekorationsoption aus.
Es kommentiert Commits, auf die Tags oder Zweige verweisen.
quelle
--pretty
Sie verwenden,%d
wo Sie die "Dekorationen" wollen.git log --graph --all --oneline --decorate
. Ich habe einen Aliasgit graph
, der verwendet--pretty
(um auch andere Dinge wie Autor und Datum anzuzeigen), aber%d
es gibt mir nicht die Farben von--decorate
. Ich verwende vorerst Gelb für alle meine Schiedsrichter. Weißt du, wie ich die Zeichenfolge von--pretty
's%d
String erben lassen kann--decorate
?--pretty
Formaten haben möchten , fügen Sie%C(auto)
vor dem Element hinzu, was gefärbt werden soll. zBgit log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Ich suchte nach etwas Ähnlichem - wollte aber wissen, in welchem Zweig eine Änderung vorgenommen wurde. Hoffentlich wird diese Antwort auch anderen von Nutzen sein.
Ich untersuche ein Risiko mit
blackbox
Verschlüsselung, bei dem ein Repo und seine Zweige / Tags für den aktuellen Stand möglicherweise nicht mehr verfügbar sind,admins
wenn genügend Benutzer ein Projekt verlassen und daskeyrings
Verzeichnis nicht religiös auf dem Master basiert.Ich fand, dass die Antwort unten hilfreich war, wenn das
keyrings
Verzeichnis nicht vom Master aktualisiert wurde ...Grundsätzlich
--source
war das Hinzufügen das, was ich brauchte, um die Zweige / Tags anzuzeigen. Durch Hinzufügen--name-only
wird auch angezeigt, welche Datei tatsächlich geändert wurde.Eine weitere nützliche Antwort: So zeigen Sie das Git-Protokoll mit dem Filialnamen an
quelle
--source
alleinHEAD
für alle Commits. In Kombination mit--all
scheint dies zwischen verschiedenen Zweigen zu unterscheiden, aber die angezeigten Informationen entsprechen nicht meinen Erwartungen: Für Commits, die ich durchgeführt habe , erhalte ich einen privaten Zweig ( )master
, anstatt ihn zurefs/heads/master
erhaltenrefs/remotes/origin/…
. Ich vermute, dass Zusammenführungen und / oder neue Zweige dazu führenGit
, dass Verlaufsinformationen verloren gehen.--all
kann ich nach den Zweigen mit filtern--branches --remotes=<pattern>
, aber sobald zwei Zweige zusammengeführt werden, verfügt Git nicht mehr über die Informationen, für die der Commit zum Zeitpunkt des Commits ausgeführt wurde.Wenn Sie oh-my-zsh als Terminal verwenden, stehen eine Reihe von Git-Aliasen zur Verfügung. All dies ist auf ihrem Repo oh-my-zsh / plugins / git zu sehen . Wenn Sie dieses Terminal nicht verwenden, können Sie einfach die Aliase abrufen und die gewünschten in Ihre eigene Umgebung einfügen.
Die akzeptierte Antwort enthält den
git log --graph --all --decorate
Befehl, der alsglgga
Alias in oh-my-zsh verfügbar ist .Persönlich bevorzuge ich den
glods
Alias, der übersetzt bedeutet:quelle