it-swarm.com.de

Sollten Release-Zweige jemals zum Master zusammengeführt werden

Mein Team verwendet das Git Stable Mainline-Verzweigungsmodell und wir sind dabei, den ersten Release-Zweig zu erstellen. Nach dem, was ich bisher gelesen habe, klingt es so, als ob Release-Zweige vom Master-Zweig getrennt und nie wieder vollständig zum Master zusammengeführt werden. Wenn stattdessen ein Fix für den Release-Zweig vorgenommen wird, wird dieser normalerweise in den Master-Zweig zurückgesucht. Dies ist für mich sinnvoll, da Sie die aktuelle Version vollständig von der Entwicklung der nächsten Version trennen möchten und gleichzeitig mit der Vorbereitung der aktuellen Version die nächsten Funktionen auf dem Master entwickeln möchten.

Wie lange sollten diese Release-Zweige aufbewahrt werden? Gibt es Fälle, in denen sie vollständig wieder in den Master zusammengeführt werden sollten?

9
user290137

Wie lange sollten diese Zweige aufbewahrt werden?

Die erste Antwort, die mir hier einfällt, lautet:

Warum erstellen Sie überhaupt einen Release-Zweig?

Wenn Sie eine Version im Produktionsbetrieb unterstützen möchten, sollte sie so lange funktionieren, wie diese Version bei Ihren Kunden lebt. (Sagen wir LTS-Unterstützung, Sie könnten mehrere solcher Zweige haben, was die Dinge etwas komplexer macht.)

Wenn Sie Stabilisierungsarbeiten von laufenden Neuentwicklungen trennen, benötigen Sie diesen Zweig nach der Bereitstellung der Version nicht mehr wirklich. Hier würde dies auf eine kontinuierliche Lieferpipeline hindeuten. Alle Fehler werden in der nächsten Version behoben, die so häufig wie möglich auftreten würde. Einige drängen darauf, den Hauptzweig als den stabilen Zweig zu betrachten, der mehrmals täglich bereitgestellt wird. Andere werden mit ihren Sprints synchronisiert und alle zwei bis drei Wochen veröffentlicht.

Solltest du es wieder vollständig in Master zusammenführen?

Wie Sie vermuten, hängt alles davon ab, warum Sie diese Verzweigungsstrategie übernommen haben. Da der Zweig nie wieder verwendet wird, sollten Sie ihn wie einen Feature- oder Bugfix-Zweig behandeln. Wahrscheinlich würden Sie ihn wieder mit dem Master zusammenführen und ihn vergessen.

Wenn Sie jedoch einen LTS-Stil anstreben, werden Sie ihn wahrscheinlich nicht wieder zusammenführen, insbesondere wenn Sie mehrere solcher Zweige haben. Hier würden Sie den Fix auf alle Release-Zweige anwenden und aus einem von ihnen auswählen, um diesen Fix wieder im Master zusammenzuführen. In diesem Szenario möchten Sie es als letztes wie jeden anderen Feature-Zweig behandeln, in den Änderungen vom Master übernommen und Konflikte dort und nicht im Master gelöst werden.

Ohne mehr über Ihren Produktlebenszyklus und den Workflow Ihres Teams zu wissen, ist es schwierig, hier genauere Ratschläge zu finden.

6
Newtopian