git branch -a --contains <hash>
gibt mir alle Zweige, die hash
enthalten. Was ich will, ist git branch -a --no-contains <hash>
. Leider scheint es keinen Befehl zu geben, dies zu erreichen, also denke ich, dass die Lösung so etwas wie folgt ist:
git branch -a | grep -v output of(git branch -a --contains)
, aber meine Bash ist der Aufgabe nicht gewachsen.
Show alle Zweige, die A festschreiben, sind eingeschaltet, und Festschreibung B ist nicht eingeschaltet? scheint zu gelten, aber der Ansatz erscheint komplizierter als nötig.
Was ist der beste / einfachste Ansatz, um das oben genannte zu erreichen?
grep
hat eine Option -F
, die mit festen Zeichenfolgen übereinstimmt. Wäre nützlich für das, was Sie tun.
Leider filtert -F
Zweignamen heraus, die teilweise übereinstimmen. Wie von antak vorgeschlagen, können wir stattdessen comm
für ein zuverlässigeres Diff verwenden.
Da die akzeptierte Antwort ungültig wird, wenn die Zweignamen teilweise übereinstimmen, hier ist eine, die diese Situation behandelt.
%Vor% | sort
kann am Ende beider Befehle hinzugefügt werden, wenn die comm: file 1 is not in sorted order
Warnung Sie stört. Dies ist jedoch nicht notwendig, um korrekte Ergebnisse zu erhalten, da die Reihenfolge der beiden Eingänge äquivalent ist.