Ich habe ein Git-Repository mit vielen Zweigen, von denen einige bereits zusammengeführt wurden und andere nicht. Wie kann ich feststellen, welche Zweige noch nicht zusammengeführt wurden, da die Anzahl der Zweige sehr groß ist? Ich möchte vermeiden, dass bereits zusammengeführte Zweige "Octopus" zusammengeführt und wieder zusammengeführt werden müssen.
git
git-merge
branching-and-merging
fluca1978
quelle
quelle
Antworten:
Versuche dies:
Es macht das, was es verspricht (listet Zweige auf, die zusammengeführt wurden
master
). Sie können die Umkehrung auch hochziehen mit:Wenn Sie nicht angeben
master
, z.dann werden Ihnen Zweige angezeigt, die mit dem aktuellen zusammengeführt wurden
HEAD
(wenn Sie also aktiviert sindmaster
, entspricht dies dem ersten Befehl; wenn Sie aktiviert sindfoo
, entspricht diesgit branch --merged foo
).Sie können auch vorgelagerte Zweige vergleichen, indem Sie das
-r
Flag und einen zu prüfenden Verweis angeben, der lokal oder remote sein kann:quelle
foo
inmaster
, wird es in der erscheinengit branch --merged master
Liste. Aber was passiert, wenn Sie sich noch einmal dazu verpflichtenfoo
? Erscheint es nicht mehr in dieser Liste oder wurde es, obwohl es neue Commits hat, an einem Punkt zusammengeführtmaster
?--merged
listet nur Zweige auf, die vollständig mit dem angegebenen Zweig zusammengeführt wurden.gitk --remotes --not origin/master
zeigt Ihnen die Commits für jeden Zweig, die nicht zum Master zusammengeführt wurden.Sie können auch den Parameter -r verwenden, um entfernte Zweige anzuzeigen, die nicht mit master zusammengeführt wurden:
quelle
-a
um sowohl entfernte als auch lokale gleichzeitig zu sehenWenn ein Zweig bereits zusammengeführt ist, führt ein erneutes Zusammenführen nichts aus. Sie müssen sich also keine Sorgen machen, dass bereits zusammengeführte Zweige erneut zusammengeführt werden.
Um Ihre Frage zu beantworten, können Sie einfach ausstellen
um die zusammengeführten Zweige zu sehen oder
um die unberührten Zweige zu sehen. Ihr aktueller Zweig ist impliziert, Sie können jedoch auch andere Zweige angeben, wenn Sie dies wünschen.
zeigt Ihnen Zweige, die noch nicht zu
integration
Zweigen zusammengeführt wurden.quelle
Das folgende Skript findet alle
origin/*
Zweige, die vor dem aktuellen Zweig liegenDie aktuelle Version des Skripts
quelle
quelle