Zeigen Sie alle Zweige der ersten Ebene mit Git an

8

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 :

%Vor%

und wenn ich im Zweig issue-7559 wäre, würde ich nur sehen:

%Vor%

Wie könnte ich darüber gehen?

    
mskfisher 05.02.2010, 17:11
quelle

1 Antwort

3

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:

%Vor%

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.

%Vor%

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%     
Greg Bacon 05.02.2010, 22:04
quelle

Tags und Links