Uwe Baumann artiso solutions GmbH

„Git ist ein schnelles, leistungsfähiges und revolutionäres System zur Versionskontrolle, das sich in der Softwareindustrie durchgesetzt hat. Wer sich noch nicht mit Git beschäftigt hat, sollte das schnell nachholen – es lohnt sich.“

Git ist „hip“ und gilt als Star unter den Versionskontrollsystemen. Der Grund dafür ist einfach: Git ist schnell, leistungsfähig und plattformunabhängig. Kein Wunder, dass immer mehr Teams vor allem auch aus der Microsoft-Welt den Umstieg planen. Doch um Git optimal zu nutzen, ist fundiertes Hintergrundwissen nötig – denn Git arbeitet von Grund auf anders als die bekannten „klassischen“ Systeme. Richtig eingesetzt macht Git aber ordentlich Spaß – durch mehr Performance, Produktivität und Flexibilität im täglichen Entwicklungsalltag.

Eigentlich – so schien es – war das Thema Versionskontrolle in der Microsoft-Welt abgehakt: Team Foundation Version Control (TFVC) als ausgereiftes, stabiles System war gesetzt – als Open-Source-Alternative stand Apache Subversion bereit –, um den Rest des Kuchens stritten sich Systeme wie Perforce und Rational ClearCase. Doch dann kam Git und eroberte die Welt im Sturm: Nach der aktuellen Umfrage des Entwicklerportals Stack Overflow nutzen rund 87 Prozent der Entwickler Git; Subversion und TFVC landen mit 16,1 und 10,9 Prozent abgeschlagen auf Platz zwei und drei.

Was ist der Grund für den kometenhaften Aufstieg von Git? Was macht Git anders als die etablierten Platzhirsche? Und was gibt es zu beachten, wenn man das eigene Team auf Git migrieren will? Die wichtigsten Antworten auf diese Fragen möchte ich Ihnen im Folgenden liefern.

Zentral versus dezentral

Wer sich ein Git Cheat Sheet (wie es diesem Heft beiliegt) besorgt, könnte den Eindruck bekommen, dass Git eigentlich nur eine Variante des bereits bekannten Musters darstellt: Befehle zum Sichern des Versionsstands, zum Abrufen früherer Versionen sowie zum Verwalten von Varianten mittels Branching und Merging.

Aber der Schein trügt: Git funktioniert intern komplett anders, denn es ist als dezentrales System ausgelegt. Das bedeutet: Während TFVC und Subversion auf eine zentral verwaltete Datenbank setzen (Abb. 1), kommt Git auch gut ohne zentrale Datenbank aus. Jeder Nutzer hat vielmehr seine eigene Datenbank, unter Git „Repository“ oder kurz „Repo“ genannt (Abb. 2).

Abb. 1: Zentrale Versionskontrolle

Abb. 1: Zentrale Versionskontrolle

Abb. 2: Verteilte Versionskontrolle

Abb. 2: Verteilte Versionskontrolle

Unter Git arbeitet man die meiste Zeit mit dieser lokalen Datenbank und kann dann die erzeugten Änderungen (Commits) mit den anderen Projektbeteiligten austauschen. Obwohl Git dies nicht erfordert, wird hier dann doch wieder auf die bewährte Architektur mit einem Zentralserver (Blessed Repository) zurückgegriffen.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 3.19 - "Die neue Git-vasion"

Alle Infos zum Heft
579878528Git erobert die Entwicklerwelt
X
- Gib Deinen Standort ein -
- or -