Untersuchen der Typen von Verzweigungsworkflows

Abgeschlossen

Was ist ein erfolgreicher Git-Verzweigungsworkflow?

Wenn Sie einen Workflow für Ihr Team auswerten, müssen Sie die Kultur Ihres Teams berücksichtigen. Sie möchten, dass der Workflow die Effektivität Ihres Teams verbessert und keine Belastung darstellt, die die Produktivität einschränkt. Beim Auswerten eines Git-Workflows sind einige Punkte zu berücksichtigen:

  • Wird dieser Workflow mit der Größe des Teams skaliert?
  • Ist es einfach, mit diesem Workflow Fehler rückgängig zu machen?
  • Erfordert dieser Workflow einen unnötigen kognitiven Mehraufwand für das Team?

Allgemeine Verzweigungsworkflows

Die meisten gängigen Git-Workflows verfügen über eine Art zentrales Repository, aus dem die einzelnen Entwickler Push- und Pullvorgänge ausführen.

Nachfolgend finden Sie eine Liste einiger gängiger Git-Workflows, die wir im nächsten Abschnitt näher erläutern werden.
Diese umfassenden Workflows bieten speziellere Muster für die Verwaltung von Branches für die Entwicklung von Features, Hotfixes und das letztendliche Release.

Trunkbasierte Entwicklung

Die trunkbasierte Entwicklung ist eine logische Erweiterung des zentralisierten Workflows.

Die Kernidee hinter dem Trunk-basierten Entwicklungsworkflow besteht darin, dass alle Entwicklungsaufgaben direkt im Mainbranch (oft als „Trunk“ oder „Master“ bezeichnet) ausgeführt werden. Dieser Ansatz basiert schwerpunktmäßig auf der kontinuierlichen Integration, wobei Entwickler häufig kleine, inkrementelle Änderungen am Mainbranch committen. Kontinuierliche Integration und automatisierte Tests spielen eine entscheidende Rolle bei der Aufrechterhaltung der Qualität und Stabilität des Codes.

Featurebranch-Workflow

Schwerpunkt beim Featurebranch-Workflow ist, dass jedes neue Feature oder jede Änderung in einem dedizierten Branch getrennt vom Mainbranch gekapselt wird. Entwickler erstellen einen neuen Branch für jedes Feature oder Problem, an dem sie arbeiten, entwickeln und testen die Änderungen isoliert und führen Sie dann den Featurebranch wieder im Mainbranch zusammen, sobald er fertiggestellt und getestet wurde. Dieser Ansatz ermöglicht die parallele Entwicklung mehrerer Features, erleichtert die Codeüberprüfung und stellt sicher, dass der Mainbranch stabil bleibt.

Releasebranch-Workflow

Im Releasebranch-Workflow wird bei der Vorbereitung für ein Release ein dedizierter Branch aus dem Mainbranch erstellt. Dieser Branch wird verwendet, um den Code zu stabilisieren, alle kurz vor Fertigstellung aufgetretenen Fehler oder Probleme zu beheben und abschließende Tests durchzuführen, bevor das Release in der Produktion bereitgestellt wird. Sobald das Release als bereit angesehen wird, wird es wieder in den Mainbranch und potenziell in andere langlebige Branches wie Entwicklungs- oder Featurebranches zusammengeführt. Diese Strategie ermöglicht einen kontrollierten und organisierten Releaseprozess, während der Mainbranch 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, erhalten alle Entwickler ein serverseitiges Repository. Das bedeutet, dass jeder Mitwirkende zwei Git-Repositorys hat: ein privates lokales und ein öffentliches serverseitiges. Dieser Ansatz fördert ein hohes Maß an paralleler Entwicklung und Zusammenarbeit zwischen Mitwirkenden, während eine intakte und organisierte Codebasis beibehalten wird.