Git hat das Rennen um das beliebteste Versionskontrollsystem gewonnen. Aber warum genau ist es so beliebt? Die Antwort ist, zumindest meiner Meinung nach, ziemlich klar: Filialen! Sie ermöglichen es Ihnen, verschiedene Versionen Ihres Codes sauber zu trennen – ideal, wenn Sie mit anderen im Team zusammenarbeiten, aber auch für sich selbst, wenn Sie mit der Arbeit an einem neuen Feature beginnen.
Obwohl auch andere Versionskontrollsysteme eine Art Verzweigung bieten, sind Konzept und Implementierung von Git einfach umwerfend. Das Arbeiten mit Filialen ist dadurch so schnell und einfach geworden, dass viele Entwickler das Konzept für ihre tägliche Arbeit übernommen haben.
In diesem Beitrag möchte ich das Was, Warum und Wie von Branches untersuchen und erklären:
Was sind Zweige, kurz gesagt?
Warum sind Filialen so nützlich?
Wie werden sie eingesetzt, insbesondere in Teams?
Wie sehen Zweige in Git unter der Haube aus?
Wir werden das Konzept der Branches in Git aus einer übergeordneten Perspektive betrachten – mit dem ultimativen Ziel, besser zu verstehen, was sie sind und wie sie verwendet werden sollten, damit Sie und Ihr Team den größtmöglichen Nutzen daraus ziehen können.
Was sind Zweige, kurz gesagt?
Einfach ausgedrückt ist eine Codebasis eine Sammlung von Dateien. Jede sinnvolle Änderung (z. B. bei der Entwicklung einer neuen Funktion oder der Behebung eines Problems) betrifft höchstwahrscheinlich einige dieser Dateien.
Nehmen wir für einen Moment so an, als gäbe es die Versionskontrolle und insbesondere das Konzept der „Branches“ nicht. In einer solchen Situation müssten Sie beim Vornehmen von Änderungen sehr vorsichtig sein, da Sie sie nicht leicht rückgängig machen könnten und Sie riskieren würden, die aktuelle, funktionierende Version zu beschädigen. Aber es gibt eine einfache Möglichkeit, diese Risiken zu mindern: Sie könnten einfach den gesamten Projektordner duplizieren! In dieser Kopie können Sie dann beliebige Änderungen vornehmen, ohne sich Sorgen machen zu müssen, dass etwas kaputt geht.
Branches in Git haben genau den gleichen Effekt und Zweck: Sie bieten Entwicklern separate Arbeitsbereiche für ihren Code. Sie sind natürlich viel schlauer als unsere simple Strategie „Ordner kopieren“. Sie verschwenden beispielsweise keinen Festplattenspeicher (was eine einfache Dateisystemkopie tun würde) und sind viel leistungsfähiger, wenn es um die Zusammenarbeit mit anderen Entwicklern im selben Projekt geht.