Konfigurationsverwaltungsprojekte abzweigen: Übersicht
Das Abzweigen in Projekten ist für die folgenden Vorgänge hilfreich:
• Inhalte aus vorherigen Projektversionen extrahieren und erstellen
• Angepasster Versionen eines Produkts erstellen
• Zweigentwicklungsarbeiten durchführen
• Post-Release-Wartung durchführen
• Fehlerkorrektur in vorherigen Produktversionen
• Neue Funktionen außerhalb des Hauptentwicklungspfads testen
• Forschungsexperimente, die sich nicht auf die reguläre Entwicklung auswirken
Erstellen Sie einen Projektzweig, indem Sie einen neuen Entwicklungspfad erstellen.
Es gibt Hauptmodelle, denen Sie beim Abzweigen von Projekten folgen können:
• Versionsbasiertes Abzweigen
• Projektbasiertes Abzweigen
Versionsbasiertes Abzweigen
In einem versionsbasierten Abzweigungsmodell ist der Projektinhalt (Funktionen, Verbesserungen und Fehler) tendenziell statisch und gut definiert. Normalerweise durchläuft das vollständige Projekt die Phasen von Entwicklung, Test und Version.
Die ganze Entwicklungsaktivität wird auf dem Hauptstamm des Projekts ausgeführt. Versionskandidaten werden als Kontrollpunkte identifiziert und auf einem Projektzweig abgeschlossen. Programmierfehlerkorrekturen und Entwicklungsarbeit für bessere Stabilität werden im Hauptstamm des Projekts fortgesetzt und mit "Änderungspaket anwenden" auf den Zweig des Versionskandidaten migriert.
Dieser Typ von Abzweigungsmodellen ist geeignet für Entwicklungsumgebungen, in denen vollständige Versionen für die Produktion freigegeben werden. Bei Verwendung dieses Modells wird empfohlen, die Anzahl von Zweigen zu beschränken, damit nicht zu einem späteren Zeitpunkt umfangreiche Zusammenführungen notwendig werden.
Projektbasiertes Abzweigen
In einem projektbasierten Abzweigungsmodell ist der Inhalt des Projekts (Funktionen, Verbesserungen und Fehler) tendenziell dynamisch und durch ständiges Hinzufügen und Entfernen von Unterprojekten (Funktionen, Verbesserungen und Fehlern) bis zur letzten Minute gekennzeichnet. Das Projekt wird in Inkrementen für die Produktion freigegeben. Normalerweise wird bei diesem Entwicklungstyp nach dem anfänglichen Rollout nicht das gesamte Projekt freigegeben. Tendenziell werden, teilweise wöchentlich, Aktualisierungen in der Produktion durchgeführt.
Die gesamte Entwicklung erfolgt auf Projektzweigen, die vom letzten Produktionsprüfpunkt aus erstellt wurden. Auf Projektzweigen vorgenommene Änderungen werden unter Verwendung des Befehls "Änderungspaket erneut synchronisieren" in einen Integrationszweig zusammengeführt und auf diesem Zweig getestet, bevor sie mit dem Hauptstamm zusammengeführt werden. Nachdem neu eingeführter Integrationscode auf dem Hauptstamm veröffentlicht wurde, werden alle aktiven Projektzweige entfernt und vom letzten Prüfpunkt des Hauptstamms (Produktion) aus neu erstellt. Dies macht eine Synchronisierung aller aktiven Projektzweige mit der letzten Produktionsversion erforderlich.
Bei projektbasierten Abzweigungsmodellen wird empfohlen, nur Zweige für gleichzeitige oder parallele Entwicklungsprojekte zu erstellen. Das Erstellen von Zweigen auf Funktions-, Verbesserungs-, Fehler- oder Aufgabenebene wird nicht empfohlen.