Seit Jahren verwende ich für meine Projekte SVN und war glücklich und zufrieden, auch wenn es ein paar Macken hatte.
Durch einen neuen Job bin ich nun auf GIT aufmerksam geworden und muss sagen: Es ist grossartig.
Und das Beste daran ist: Man kann GIT wunderbar parallel zu SVN verwenden.
Man kann ein SVN-Repository auschecken, einige Änderungen machen, mehrfach lokal comitten, Commits bearbeiten, zusammenfassen oder splitten, die History neu schreiben und erst, wenn man mit den lokalen Commits zufrieden ist schiebt man ganz einfach alle lokalen Commits auf den SVN-Server, einfach genial.
Verwirrt?
Ja, das war ich anfangs auch, tatsächlich hat es knapp eine Woche gedauert bis ich mich so einigermaßen in GIT zurechtgefunden und die teilweise unterschiedliche Arbeitsweise verstanden habe.
Doch trotz aller Euphorie muss man sagen, dass mit GIT nicht alles schöner, einfacher und besser ist. Beispielsweise wird in GIT immer das gesamte Repository ausgecheckt (geklont), wohingegen es bei SVN möglich ist lediglich ein bestimmtes Unterverzeichnis auszuchecken. Letztlich muss man wohl genau abwägen welches Tool einem besser unter die Arme greift. Eine gute Übersicht befindet sich im GIT-Wiki.
Ein Dorn im Auge ist mir noch das Submodule-Handling von GIT. Während es bei SVN möglich ist ein anderes Repository in einem Unterverzeichnis recht simpel als “External” mit zu pflegen werden GIT-Submodules (zumindest soweit ich es bisher in Erfahrung bringen konnte) auf eine bestimmte Version festgetackert. Da sind also noch ein paar Tests nötig.
Warum ich trotzdem auf GIT umgestiegen bin werde ich demnächst in einigen Artikeln schreiben.