Wir haben das von Vincent Driessen vorgeschlagene Verzweigungsmodell übernommen und machen fast alles so, wie er es in seiner article beschrieben hat.Warum ist das Zusammenführen von Feature-Zweigen in Release-Zweigen eine schlechte Idee?
Nur wenn es um den Umgang mit den Freigabezweigen geht, weichen wir etwas ab.
Vincent schlägt vor, Merkmale in Zweigen zu entwickeln, die vom Entwickler abgezweigt werden. Wenn entschieden wird, welche Features in das nächste Release kommen, werden sie zurück in den Entwickler zusammengeführt und daraus ein Release-Zweig erstellt.
Danach sollte der Feature-Zweig nur zum Testen und Bugfixing verwendet werden. Wenn das Release zum Leben bereitgestellt wird, wird der Release-Zweig wieder in Entwickler und Master zusammengeführt.
Was wir tun, ist stattdessen Funktionen direkt in den Release-Zweig zu fusionieren:
Ich glaube, dass dies nicht der Weg ist, es getan werden soll, und ich versuche die Fälle zu denken, wo dies tatsächlich machen könnte Dinge komplizierter.
One ich denken kann, ist die folgende:
ist eine neue Eigenschaft c sagen Lassen Sie baut auf Eigenschaft ein, die bereits in einen Release-Zweig verschmolzen. Ich muss zuerst den Release-Zweig zurück in den Entwickler zusammenführen, um einen neuen Zweig vom Entwickler erstellen zu können.
Gibt es andere Fälle, in denen dieses Verzweigungsmodell die Dinge komplizierter machen könnte?
@ downvoters bitte hinterlassen Sie einen Kommentar, um die Qualität meiner Frage zu verbessern :) Ist der Titel irreführend? – Zounadire
Um ehrlich zu sein, antworten "Wie könnte dieses Modell die Dinge kompliziert machen?" ist wie beantworten "Was könnte falsch Codierung in Java?" Dieses Modell ist mehr oder weniger gut, wenn Sie nicht seine Annahmen über Upstream- und Downstream-Commits und Merge-Basen lockern. Aber das gilt wiederum für jedes * Verzweigungsmodell. – Christopher