Wie kann ich eine Liste von Zweigen erhalten, die Nachkommen der ersten Ebene des aktuellen HEAD sind?
Ich kann eine Liste des ganzen Baumes mit bekommen:
%Vor%was
ergibt %Vor% Aber ich möchte nur eine einfache Liste der untergeordneten Elemente der ersten Ebene des aktuellen Zweigs erhalten, wie dieses Beispiel für master
:
und wenn ich im Zweig issue-7559
wäre, würde ich nur sehen:
Wie könnte ich darüber gehen?
Sie könnten es wie folgt tun.
Zuerst die übliche Präambel:
%Vor% Verwenden Sie git for-each-ref
, um die SHA-1 und Name für jeden Verweis:
Wenn ein Commit ein Kind von HEAD
ist, ist der Satz von Commits, der von HEAD
erreichbar ist, ausgeschlossen, alles, was von dem fraglichen Commit erreichbar ist, ist der leere Satz. Wir können diese Beziehung mit git rev-list
überprüfen.
Für jede Referenz, die ein Nachkomme von HEAD
ist, aber nicht gleichbedeutend mit HEAD
, untersuchen wir den Pfad von HEAD
zu dieser Referenz mit git log
. Wenn der Pfad die Spitze eines anderen Zweigs enthält, kann der Verweis kein Kind der ersten Ebene sein.
Alle Überlebenden dieses Handschuhs sind Kinder der ersten Stufe.
%Vor%