Versionsverwaltungen: SVN vs. Git

Meine ersten Erfahrungen mit Versionsverwaltungssystemen in der Softwareentwicklung habe ich mit CVS gemacht. Da man aber oft Änderungen an mehreren Dateien vornimmt und z.B. auch Revisionen von Binärdateien (z.B. Bilder oder Dokumentation) hilfreich sind, bin ich relativ bald auf den Quasi-Nachfolger SVN (Apache Subversion) umgestiegen.

Versionierung wird zwar wichtiger, wenn man mit mehreren Leuten an einem Projekt arbeitet und/oder die Entwicklung in verschiedene Zweige (“branch”) verläuft, aber auch im kleinen Team kann es nützlich sein, dass man vor geplanten Änderungen nicht jedesmal die kompletten Dateien sichern muss.

In letzter Zeit habe ich nun gleich von verschiedenen Seiten gehört oder gelesen, dass Git eingesetzt wird oder ein Umstieg auf Git geplant ist. Git wurde ursprünglich für die Verwaltung von Linux-Kernel entwickelt, muss also auch in umfangreichen Projekten benutzbar sein. Die Geschwindigkeit von SVN lässt ja manchmal genug Zeit für weitere Kreativität ;-). Git soll spürbar performanter sein. Ein weiterer Unterschied zu Subversion ist, dass Git keinen dezentralen Server benötigt, jeder arbeitet mit einer lokalen Kopie.

Ein englischer Wikipedia-Artikel vergleicht noch weitere Systeme. Antworten, warum Git besser besser sei als vergleichbare Software liefert eine Website. Ich selbst habe aktuell noch keine praktischen Erfahrung mit Git, werde das aber bestimmt bald nachholen. Als Client unter Windows könnte TortoiseGit interessant sein, da ich z.B. mit TortoiseSVN insgesamt gute Erfahrungen gemacht habe.