La prima ora
SVN puo essere usato produttivamente entro un'ora. La prima ora di Git e piu difficile.
Il plateau
Il soffitto di complessita di SVN e basso. Il soffitto di complessita di Git e alto — il che e per lo piu una feature.
Migrazione come cambiamento culturale
La parte piu difficile di una migrazione SVN-a-Git non e il tooling — e disimparare il riflesso commit-uguale-publica di SVN.
Confronti concreti
# 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
Terminologia di branch
I branch SVN sono directory; si cambia cambiando l'URL del working copy. I branch Git sono puntatori.
Documentazione e community
La documentazione di Git e esauriente. La documentazione SVN e piu shaped tutorial, ma la community sta diminuendo.
Tooling e IDE
La maggior parte degli IDE supporta entrambi. L'integrazione Git e ora piu ricca.
Piano di migrazione
- Convertire con
git svn clone. - Configurare il nuovo host Git.
- Formare il team.
- Eseguire SVN read-only insieme a Git per uno sprint.
- Decommissionare SVN.
Insidie comuni
- Trattare Git come SVN.
- Force-push senza capire le conseguenze.
- Confusione su riscrittura locale vs pubblicata.
- Submodule usati come sostituti per externals SVN.
Ritmo del cambiamento
Iniziare con workflow semplici e aggiungere strumenti man mano che il team cresce comodo.