A ceux qui pensent que les systèmes distribués ne permettent pas de faire autorité. veuillez noter qu'il y a beaucoup d'endroits où des systèmes distribués distribués ont des copies qui font autorité, l'exemple parfait est probablement l'arbre du noyau de Linus. Bien sûr beaucoup de gens ont leurs propres arbres mais mais presque tous vont vers l'arbre de Linus.
Cela dit, j'ai toujours pensé que les SCM distribués n'étaient utiles que pour beaucoup de développeurs faisant des choses différentes mais j'ai récemment décidé que tout ce qu'un référentiel centralisé peut faire, un référentiel distribué peut le faire mieux.
Par exemple, disons que vous êtes un développeur solo travaillant sur votre propre personnel. Un référentiel centralisé pourrait être un choix évident mais mais considérez ce scénario. Vous êtes loin de tout accès réseau (dans un avion, dans un parc, etc.) et vous voulez travailler sur votre projet. Vous avez votre copie locale Vous avez votre copie locale et vous pouvez travailler sans problème mais vous voulez vraiment commettre parce que vous parce que vous avez terminé une fonctionnalité et voulez passer à une autre, ou vous avez trouvé un bug à corriger ou autre. Le point est qu'avec un repo centralisé vous finissez soit par écraser tous les changements ensemble et les commiter dans un changeset non logique ou vous les divisez manuellement plus tard.
Avec un dépôt distribué, on fait comme d'habitude, on commet, on passe à autre chose, quand vous avez à nouveau accès à Internet vous poussez vers votre "seul vrai repo" et rien n'a changé.
Sans parler de l'autre point positif des dépôts distribués : l'historique complet historique complet disponible en permanence. Vous avez besoin de regarder les journaux de révision lorsque vous êtes loin du réseau ? Vous avez besoin d'annoter la source pour voir comment un bug a été introduit ? Tout cela est possible avec les dépôts distribués.
S'il vous plaît, ne croyez pas que distribué ou centralisé est une question de de propriété ou de copies d'autorité ou quoi que ce soit de ce genre. La réalité est que la distribution est la prochaine étape dans l'évolution des SCM.