Antworten:
Probieren Sie die Dekorationsoption aus.
git log --graph --all --decorate
Es kommentiert Commits, auf die Tags oder Zweige verweisen.
--pretty
Sie verwenden, %d
wo Sie die "Dekorationen" wollen.
git log --graph --all --oneline --decorate
. Ich habe einen Alias git 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 das keyrings
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.
cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings
--source
allein HEAD
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 zu refs/heads/master
erhalten refs/remotes/origin/…
. Ich vermute, dass Zusammenführungen und / oder neue Zweige dazu führen Git
, 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 als glgga
Alias in oh-my-zsh verfügbar ist .
Persönlich bevorzuge ich den glods
Alias, der übersetzt bedeutet:
git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
git
Aktualisierungen zu erfolgen.