Die erste Stunde
SVN kann innerhalb einer Stunde produktiv genutzt werden. Git's erste Stunde ist schwieriger.
Das Plateau
SVN's Komplexitatsdecke ist niedrig. Git's ist hoch.
Migration als kultureller Wandel
Der schwerste Teil einer SVN-zu-Git-Migration ist nicht das Tooling — es ist das Verlernen von SVN's Commit-gleich-Veroffentlichen-Reflex.
Konkrete Vergleiche
# Daily SVN
svn update
svn diff
svn commit -m "msg"
svn log
# Daily Git
git pull
git diff
git add -p
git commit -m "msg"
git push
git log
Branch-Terminologie
SVN-Branches sind Verzeichnisse. Git-Branches sind Zeiger.
Dokumentation und Community
Git's Dokumentation ist erschopfend.
Tooling und IDEs
Die meisten IDEs unterstutzen beide. Git-Integration ist jetzt reicher.
Migrationsplan
- Mit
git svn clonekonvertieren. - Den neuen Git-Host einrichten.
- Das Team trainieren.
- SVN read-only neben Git fur einen Sprint laufen lassen.
- SVN ausser Betrieb nehmen.
Haufige Fallstricke
- Git wie SVN behandeln.
- Force-Push ohne Konsequenzen zu verstehen.
- Verwirrung uber lokale vs. veroffentlichte Umschreibung.
- Submodule als Ersatz fur SVN-Externals.
Tempo des Wandels
Mit einfachen Workflows beginnen.