git

Git unverbindlich testen: git-svn

Wenn man Git erst einmal unverbindlich ausprobieren will ohne gleich das ganze Team auf eine neues SCM-System umstellten zu müssen, ist git-svn genau das Richtige. Es verhält sich zum SVN-Repository hin wie ein normaler Client, bietet aber lokal alle gängigen Git-Features. Branches und Tags lassen sich sowohl lokal als auch remote einfach per Kommandozeile anlegen. Diffs und lokale Commits gehen rasend schnell, weil die komplette Historie lokal vorliegt. Dazu checkt git-svn initial jede Version aus dem SVN-Repository aus und spielt die Versionsgeschichte lokal nach. Das dauert dann bei 1500 Commits auch mal eine halbe Stunde oder länger, aber das muss man ja auch nur einmal machen:

$ git svn clone -s svn://svn.example.org/my-cool-project

Die Option -s sorgt dafür, dass die Standard-SVN-Verzeichnisstruktur mit branches, tags und trunk erkannt wird und auch korrekt in Git als Branches und Tags abgebildet wird. Abweichende Ordnernamen lassen sich über weitere Kommandozeilenparameter konfigurieren. Nach geduldigem Warten listet Git auch brav alle SVN-Branches sowie den lokalen master-Branch auf:

$ git branch -a
* master
  remotes/production
  remotes/trunk

Will man nun ein neues Feature implementieren, kann man sich einfach einen lokalen Branch erstellen:

$ git checkout -b my-new-feature

Darauf kann man nun gemütlich arbeiten, ohne von anderen Änderungen beeinträchtigt zu sein. Will man seine Änderungen an das zentrale SVN-Repository zurückschicken, muss man erst lokal commiten und anschließend ins SVN-Repository:

$ git commit -a
$ git svn dcommit

Wenn man zwischendurch an einer anderen Aufgabe weiterarbeiten will (oder muss), kann man jederzeit einen neuen Branch erstellen oder in den master-Branch zurückwechseln:

$ git checkout master

Die aktuellen Änderungen aus dem SVN-Repository (das Pendant zu svn update) bekommt man mit:

$ git svn rebase

Ein bisschen ausführlicher und auf Englisch ist das Ganze auch in Bart’s Blog erklärt. Ansonsten helfen die umfangreichen Git-Hilfe-Seiten weiter. Zu fast jedem Befehl lassen sich mit git help <command> weitere Informationen anzeigen.

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar

wpDiscuz
Weitere Beiträge zum Thema
Visualisierung von Logdaten
JS-Error in IE, Totalabbruch
HbbTV – neue Kunden auf altem Kanal
Vier weitere Magento Certified Developer PLUS im Flagbit-Team