Sonntag, Oktober 18, 2009

Git – Konkurrent für SVN

Ich habe schon seit einigen Wochen, oder ist es schon Monate her, GIT neben SVN auf dem Rechner. Seit einigen Tagen nutze ich es intensiv beim Arbeiten mit unseren SVN-Repositories. Ich nutze GIT derzeit meist eher um auf die SVN-Repos zuzugreifen, aber es macht sich schon relative gut. Besonders gut gefällt mir, dass es trotz gesamter Historie, das Verzeichnis auf lokal viel kleiner ist. Apropos Historie, im Unterschied zu SVN ist bei GIT die gesamte Historie lokal verfügbar und man kann zwischen den Ständen hin und her springen.

Der Einstieg in GIT ist ziemlich holprig, zumindest für mich. Ich habe mir eine aktuelle Version von msysGIT gezogen und dann losgelegt. Ich habe zuerst viel über das GUI versucht, aber momentan bin ich der Meinung, dass man am besten mit der Shell arbeiten kann.

Den Einstieg findet man am besten, wenn man sich mit dem Tutorial Git - SVN Crash Course befasst. Danach gibt einen GIT-SVN noch viele Fragen auf, aber  man kommt mit Google schon recht weit. Bisher ist der SVN-Zugriff in GIT a manchen Stellen noch etwas holprig, und reportet öfter mal Fehler. Zurzeit geht der Zugriff auf SVN:EXTERNALS nicht, so dass man sich die Verzeichnisse herein kopiert oder ein weiteres Repository anlegt. Eine andere Stelle, an der ich lange gesucht habe, sind die Ignores. Um Ausschlüsse zu definieren, muss man im Root-Folder des Repository eine Datei “.gitignore” anlegen. In der Datei kann man anschließend mit Mustern die Verzeichnisse oder Dateien definieren. Hier ein Auszug meiner Exclude-Datei:

   1: bin/**/*
   2: obj/**/*
   3: bin/
   4: obj/
   5: *.bak 
   6: *.~?? 
   7: *.jar 
   8: *.[Tt]mp. 
   9: *.suo 
  10: *.vss* 
  11: *.scc 
  12: *.suo
  13: *.resharper.user
  14: *.csproj.user
  15: *.webinfo 
  16: *.pdb 
  17: thumbs.db

Zum Schluss noch der entscheidene Tip. Zur Vereinfachung der Arbeit einfach TortoiseGit installieren. Damit arbeitet sich fast alles wie mit TortoiseSvn. Einige Regeln von Git sollte man allerdings immer im Kopf haben.

Keine Kommentare: