La primera hora
SVN puede usarse productivamente en una hora. La primera hora de Git es más difícil. El área de staging, la diferencia entre commit y push, el significado de HEAD, y la distinción rebase/merge todos quieren explicación.
La meseta
El techo de complejidad de SVN es bajo. El techo de complejidad de Git es alto — lo cual es mayormente una característica.
La migración como cambio cultural
La parte más difícil de una migración SVN-a-Git no es el tooling — git-svn y git filter-repo manejan eso mecánicamente.
Comparaciones concretas
# SVN diario
svn update
svn diff
svn commit -m "msg"
svn log
# Git diario
git pull
git diff
git add -p
git commit -m "msg"
git push
git log
Terminología de branch
Los branches de SVN son directorios; cambias modificando la URL de tu copia de trabajo. Los branches de Git son punteros.
Documentación y comunidad
La documentación de Git es exhaustiva pero escrita para los contribuidores. La documentación de SVN es más directamente con forma de tutorial.
Tooling e IDEs
La mayoría de IDEs soportan ambos. La integración Git ahora es más rica.
Plan de migración
- Convertir con
git svn clone. - Configurar el nuevo host Git.
- Entrenar al equipo en un workshop de medio día.
- Ejecutar SVN solo lectura junto con Git.
- Desactivar SVN.
Trampas comunes
- Tratar a Git como SVN.
- Force-push sin entender consecuencias.
- Confusión sobre reescritura de historia local vs publicada.
Ritmar el cambio
Empieza con flujos simples — feature branch, PR, merge — y añade herramientas conforme el equipo se sienta cómodo.