Entdecken Sie die Arten von Verzweigungsworkflows
Was ist ein erfolgreicher Git Branch-Workflow?
Beim Auswerten eines Workflows für Ihr Team müssen Sie die Kultur Ihres Teams berücksichtigen. Sie möchten, dass der Workflow die Effektivität Ihres Teams verbessert und nicht die Produktivität begrenzt. Einige Punkte, die Sie beim Auswerten eines Git-Workflows berücksichtigen sollten, sind:
- Skaliert dieser Workflow mit der Teamgröße?
- Ist es einfach, Fehler mit diesem Workflow rückgängig zu machen?
- Erzwingt dieser Workflow einen neuen unnötigen kognitiven Aufwand für das Team?
Allgemeine Zweigarbeitsabläufe
Die beliebtesten Git-Workflows verfügen über eine Art zentralisiertes Repository, von dem einzelne Entwickler pushen und abrufen.
Unten finden Sie eine Liste einiger beliebter Git-Workflows, über die wir im nächsten Abschnitt ausführlichere Informationen erhalten.
Diese detaillierten Workflows bieten speziellere Muster zum Verwalten von Verzweigungen für die Featureentwicklung, Hotfixes und die endgültige Version.
Trunkbasierte Entwicklung
Trunkbasierte Entwicklung ist eine logische Erweiterung des zentralisierten Workflows.
Die Kernidee hinter dem Trunk-basierten Entwicklungsworkflow besteht darin, dass alle Entwicklungsaufgaben direkt in der Hauptverzweigung (oft als "Trunk" oder "Master" bezeichnet) ausgeführt werden. Dieser Ansatz hebt die kontinuierliche Integration hervor, wobei Entwickler häufig kleine, inkrementelle Änderungen an der Hauptverzweigung ausführen. Kontinuierliche Integration und automatisierte Tests spielen eine entscheidende Rolle bei der Aufrechterhaltung der Codequalität und -stabilität.
Workflow für Featurezweige
Der Feature Branch-Workflow betont das Einkapseln jeder neuen Funktion oder Änderung in einem eigenen dedizierten Branch, getrennt vom Hauptbranch. Entwickler erstellen einen neuen Branch für jedes Feature oder Problem, an dem sie arbeiten, entwickeln und testen die Änderungen isoliert und führen dann den Featurezweig wieder in den Hauptzweig zusammen, sobald er abgeschlossen und getestet ist. Dieser Ansatz ermöglicht die parallele Entwicklung mehrerer Features, erleichtert die Codeüberprüfung und stellt sicher, dass der Hauptzweig stabil bleibt.
Release Branch-Workflow
Im Release-Branch-Workflow wird ein dedizierter Branch vom Hauptbranch erstellt, wenn eine Version vorbereitet wird. Diese Branch wird verwendet, um den Code zu stabilisieren, alle Fehler oder Probleme der letzten Minute zu beheben und abschließende Tests durchzuführen, bevor die Version in die Produktion bereitgestellt wird. Sobald das Release als bereit angesehen wird, wird es wieder in den Hauptzweig und potenziell in andere langlebige Zweige wie Entwicklungs- oder Feature-Zweige zusammengeführt. Diese Strategie ermöglicht einen kontrollierten und organisierten Veröffentlichungsprozess, während der Hauptzweig für die laufende Entwicklung stabil bleibt.
Forking-Workflow
Der Forking-Workflow unterscheidet sich grundlegend von den anderen Workflows, die in diesem Tutorial erläutert werden. Anstatt ein einzelnes serverseitiges Repository als zentrale Codebasis zu verwenden, gibt es jedem Entwickler ein serverseitiges Repository. Dies bedeutet, dass jeder Mitwirkende über zwei Git-Repositorys verfügt: ein privates lokales Repository und ein öffentlicher serverseitiger Repository. Dieser Ansatz fördert ein hohes Maß an paralleler Entwicklung und Zusammenarbeit zwischen Mitwirkenden, während eine saubere und organisierte Codebasis beibehalten wird.