Ich bin gespannt, ob es eine Möglichkeit gibt, die Verzweigungshierarchie in der Befehlszeile anzuzeigen. Zum Beispiel, wenn ich verwende git branch
, anstatt die Ausgabe wie folgt zu sehen:
* master
joes_work
refactoring
experiment
Sie sehen die Ausgabe wie folgt:
* master
joes_work
refactoring
experiment
Auf diese Weise ist leicht zu erkennen, von welchem Zweig ein bestimmter Zweig abzweigt. Auch wenn es keinen bestimmten Befehl gibt, der eine Baumstruktur ausgibt, gibt es einen Befehl, der Informationen darüber ausgibt, welcher Zweig von welchem Zweig stammt? Ich kann ein Perl-Skript verwenden, um die Ausgabe zu formatieren.
Antworten:
Die Lösung von sehe sieht gut aus. Hier ist eine andere, die ähnliche Informationen zu enthalten scheint, anders formatiert ist. Sie verwendet das Git-Protokoll und enthält daher auch Commit-Informationen (ignorieren Sie die Zweignamen, ich habe sie irgendwie durcheinander gebracht!):
quelle
git config --global alias.tree 'log --all --graph --decorate --oneline --simplify-by-decoration'
was mir gibtgit tree
.Versuchen
Beispielausgabe:
quelle
git show-branch
Zeigt Commits in Zweigen an, nicht nur eine Liste von Zweigen.Ich möchte die Antwort von @ctcherry vervollständigen.
Ich mag es, wenn ich auch den Benutzer sehen kann, der das Commit ausgeführt hat, und das Datum. Dies ist also die folgende Zeile:
Dies ist jedoch eine ziemlich lange Zeile und schwer zu merken, sodass Sie einen Alias verwenden können. Sie müssen dies nur in Ihrem Terminal verwenden:
git config --global alias.lg "HERE GOES MY BIG LOG COMMAND LINE"
Um zusammenzufassen, kopieren Sie die folgende Zeile und fügen Sie sie in Ihr Terminal ein:
Dann müssen Sie nur noch verwenden
git lg
, um Ihren Protokollverlaufsbaum abzurufen.Beispiel:
src
quelle
Schreib einfach
gitk
command ein und drücken Sie die Eingabetaste.Für mich
gitk
ist das die einfachste Lösung dafür. Obwohl der Befehlsmodus nicht angezeigt wird, wird automatisch eine schöne Benutzeroberfläche wie die folgende ausgefüllt:quelle
So funktionieren Zweige aus Git-Sicht nicht. Wenn ich mich zum Verzweigen verpflichte
a
, erstelle ich einen Zweigb
daraus, arbeite dort und mache dann wieder andere Arbeiten ana
:Das ist nicht zu unterscheiden, wenn Sie es umgekehrt gemacht haben:
Der einzige Weg, den ich mir vorstellen kann, um herauszufinden, aus welchem Zweig ein bestimmter Zweig stammt, ist das Reflog, aber das ist unzuverlässig (Einträge, die älter als 90 Tage sind, werden normalerweise gelöscht).
quelle
Wie wäre es mit diesem Alias für Ihre
.gitconfig
:Sie können auch Optionen angeben, je nachdem, was Ihr
tree
Befehl unterstützt, z. B.-D
für Zeitstempel.quelle
git branch
. Die Frage möchte etwas, das die Verzweigungshierarchie zeigt - von der eine Verzweigung verzweigt usw.