L'une des différences entre svn et git est la possibilité de contrôler l'accès au référentiel. Il est difficile de comparer les deux car il y a une différence de point de vue sur qui devrait être autorisé à commettre des changements!
Cette question concerne l'utilisation de git comme référentiel centralisé pour une équipe d'une entreprise quelque part. Supposons que les membres de l'équipe ont des niveaux de compétences différents, comme ils le sont dans la plupart des entreprises.
Git semble supposer que seuls vos meilleurs programmeurs (les plus productifs et les plus expérimentés) sont autorisés à archiver le code. Si tel est le cas, vous prenez le temps d'écrire du code pour réviser le code des autres afin de l'archiver. Cela est-il payant? Je veux vraiment concentrer cette question sur la meilleure utilisation du temps de votre meilleur programmeur, et non sur les meilleures pratiques de contrôle de version en général . Un corollaire pourrait être: les bons programmeurs quittent-ils si une partie importante de leur travail consiste à revoir le code des autres? Je pense que les deux questions se résument à: l'examen vaut-il le coup sur la productivité?
git
n'importe quel développeur peut avoir son propre référentiel (sur son ordinateur personnel) et un référentiel personnel public (celui sur un serveur, derrière apache
) auquel il ne peut ajouter que des modifications. La différence est que seul le référentiel des développeurs principaux est le "béni", celui à partir duquel tout le monde doit passer à la caisse. Le code d'extraction de plomb provenant des référentiels publics du développeur et les fusionne avec son référentiel public. Vous avez tous les deux une itération connue / contrôlée ainsi qu'un contrôle de source à tout moment.