Subversion vs. GIT

Ich bin seit Jahren SVN-Benutzer und prinzipiell sehr zufrieden damit. Verwalte damit Projekte verschiedenster Art, u.a. ein Webprojekt mit ca. 9.500 Dateien, Videos & co.. An manchen der Projekte arbeiten viele Entwickler dran.

Ab und zu hört man mal von GIT. Habe vereinzelt bereits Eigenschaften davon gelesen. Ich selbst habe keine Erfahrung mit GIT.

Kennt sich hier jemand neben SVN auch mit GIT aus? Lohnt der Umstieg?
 
Ja, der Umstieg lohnt sich in den meisten Fällen. Git ist wesentlich schneller als SVN und spart eine Menge Platz. Ausserdem spart man sich Backups der Repositories, da jede Arbeitskopie im Prinzip ein Backup darstellt. Allerdings sind meiner Erfahrung nach die zur Verfügung stehenden grafischen Interfaces für Subversion wesentlich ausgereifter als die für Git. Aber wenn man die eh nicht verwendet, kann Git auf jeden Fall eine sehr gute Alternative darstellen.

Man sollte aber bei Subversion bleiben, wenn man sehr genaue Zugriffsrechte für ein Repository definieren will. Da ist Git noch nicht so weit und wird es vermutlich aufgrund seines Konzepts auch nicht sein.
 
Danke schon mal für die Antwort.

Das klingt, als würde jeder Entwickler das komplette Repository mit sich herumtragen, anstatt nur das für ihn essentielle Projekt auszuchecken. Wie kann in dem Zusammenhang gleichzeitig Platz sparen?
 
Kann man bei git eigentlich genauso pre- und post-commit-hooks anlegen, wie's mit SVN möglich ist? Bin bei uns @work gerade dabei, bissl Qualitätssicherung einzuführen... und in SVN lassen sich php -l, PHP_CodeSniffer und UnitTests ganz schön integrieren... aber da wir eh momentan unsere Server-Struktur bissl umbauen, habe ich mich auch schon gefragt, ob ich mal nen Blick auf git werfen sollte...
 
Die Dateiformate, die Git verwendet, sind wesentlich kleiner.

Die Rate einer verlustfreien Kompression jeder Datenfolge (und somit jeder Datei) unterliegt einem mathematischen Grenzwert, der von Informationsgehalt und Entropie der unkomprimierten Daten abhängt.

Ich möchte Dir glauben, dass ein und dieselbe Datei in einem GIT-Repo weniger Platz beansprucht als in einem SVN-Repo, wahrscheinlich nicht zuletzt bereits, weil SVN die Daten redundant auscheckt (lokale Kopie im ".svn"-Verzeichnis).

Dennoch wird ein komplettes GIT-Repository, das in meinem Falle auch mehrere GB an Videos beinhaltet, immer das x-fache an HD-Space beanspruchen, als wenn ich via SVN ausschließlich die Sourcen auschecke und die Videos bewusst weglasse, da es keinen Sinn macht sie mit auszuchecken.

Bisher habe ich verstanden, dass man via GIT auch offline taggen und branchen kann. Wozu? In unseren Projekten hat man immer den Online-Zugriff zum Repo. Ich sehe bisher den Vorteil nicht.
 
Vielleicht bringt der Vortrag von Linus Torvalds [1] etwas Klarheit, der GIT für den Linux Kernel benutzt.
Achtung: Er bezeichnet alle, die keine dezentralen SCMs wie GIT benutzen als hässliche Idioten. *g*

‪Tech Talk: Linus Torvalds on git‬‏ - YouTube

Vornehmlich geht es um:
- Dezentralismus und Offline-Arbeit
- Effizienz und Performance

Warum und wieso. Das erklärt er im Video.
 
Zurück
Oben