Hier ist ein Beispieldiagramm des Branch/Commit-Verlaufs:
A--- master
|\
| B-----G--------P feature2
|\ \ \
| -----F--J--L--O--Q integration
|\ / / /
| C--E--H--K / feature1
\ /
D---------M feature3
Unter normalen Umständen führen wir den Integrationszweig mit dem Master zusammen und fertig. Aber … es gibt Ausnahmefälle, in denen nur ein bestimmtes Feature mit dem Master zusammengeführt werden muss … Bsp.: nur Feature1. In diesem Fall wird der Zweig feature1 mit dem Master zusammengeführt (commit R):
A-------------------------R master
|\ /
| B-----G--------P / feature2
|\ \ \ /
| -----F--J--L--O--Q / integration
|\ / / / /
| C--E--H--K--/------ feature1
\ /
D---------M feature3
Frage: Ich hätte gerne einen Befehl, der mir mitteilt, welche Zweige in der Integration, aber nicht im Master zusammengeführt werden. Ergebnis sollte sein: feature2 und feature3.
Ist ein Querverweis zwischen diesen beiden Befehlen der einzige Weg?
git branch --no-merged master
git branch --merged integration
Oder es könnte auch ein Befehl sein, der Merge-Commits im Integrationszweig auflistet, die im Master nicht vorhanden sind. Ergebnis sollte sein: J,O,Q
Gut gemacht mit der ASCII-Kunst!
– Adam Dymitruk
9. November 2011 um 20:30 Uhr