Je suis un utilisateur de SVN depuis de nombreuses années maintenant et je ne peux pas dire que j'en suis totalement satisfait. Il y a quelques jours, mon partenaire m'a demandé de jeter un coup d'œil à git en disant qu'il "avait de meilleures performances, une fusion et une ramification plus faciles".
J'ai lu des articles de comparaison git vs SVN et je serais heureux si les gens pouvaient résumer les avantages et les inconvénients en utilisant les deux systèmes de contrôle de version.
Maintenant, je regarde des gens qui sont passés d'un système à un autre et qui entendent des opinions subjectives.
Je sais par moi-même que j'aime vraiment la façon dont SVN fonctionne, ayant un référentiel central à partir duquel les gens peuvent passer la commande, sachant que je peux en déployer une copie de développement en direct et une copie de production en direct, mais parfois nous avons des maux de tête, des conflits de tri ou d'autres erreurs et chaque fois que nous devons différencier ou examiner l'historique d'un fichier, nous devons gérer la latence du réseau.
D'un autre côté, avoir une plate-forme distribuée sonne aussi comme un mal de tête, comment pouvez-vous contrôler les accès? avez-vous un référentiel central à partir duquel vous effectuez des push et des mises à jour?
Merci d'avoir jeté un peu plus de lumière sur le problème.
la source
Dans mon équipe, nous sommes en train de changer nos systèmes de versions de contrôle de svn en git. Git a une courbe d'apprentissage légèrement plus difficile, j'ai donc commencé à me familiariser avec celui-ci, puis à enseigner aux développeurs comment l'utiliser. Ils ont besoin de connaître tous les avantages d'un système de version de contrôle distribué: plusieurs succursales, pas de référentiel central, vitesse, etc.
Comme vous, nous avions un système pour déployer nos sites, donc nous gardons quelque chose comme un serveur central git où les changements sont tirés et poussés depuis et vers les machines des développeurs. Nos sites tirent les modifications de ce "serveur central", et le reste du processus de déploiement est similaire à celui utilisant svn.
Nous avons essayé de ne pas mélanger les référentiels svn et git, en commençant à migrer nos sites mineurs et à créer de nouveaux référentiels git pour les sites principaux comme s'ils étaient une nouvelle version. L'accès est géré avec les clés ssh. Nous utilisons également gitweb comme interface web (notre système svn est basé sur http)
Cela fonctionne, ce n'est pas un changement d'un jour à l'autre et nous essayons aux développeurs de ne pas prendre ce changement comme une gêne mais une nouvelle compétence pour apprendre un outil qui, à la fin, améliorera notre propre système.
la source