Quelle est la différence entre le contrôle de version centralisé et distribué

Table des matières:

Anonim

Les différence principale entre le contrôle de version centralisé et distribué est que, dans le contrôle de version centralisé, les versions sont enregistrées dans le référentiel distant, tandis que dans le contrôle de version distribué, les versions peuvent être enregistrées dans le référentiel distant ainsi que dans les référentiels locaux des machines locales.

Une activité majeure réalisée pendant le développement du logiciel est la gestion du code source (SCM). Les exigences du logiciel changent toujours, et il est nécessaire de modifier le code source. Dans SCM, ces états des projets sont enregistrés en tant que versions. Par conséquent, le développeur peut garder une trace des versions précédentes. Les systèmes de contrôle de version permettent la gestion du code source et sont bénéfiques pour le développement de logiciels au niveau de l'entreprise. En outre, il existe deux types de systèmes de contrôle de version en tant que systèmes de contrôle de version centralisés et distribués.

Contrôle de version centralisé, contrôle de version distribué, contrôle de version

Qu'est-ce que le contrôle de version centralisé

Dans le contrôle de version centralisé, il existe un ensemble d'ordinateurs locaux et un seul serveur. Le serveur fonctionne comme l'emplacement central. Lorsqu'un développeur modifie le code source sur sa machine locale, ces modifications sont enregistrées sur le serveur central. La copie de travail est disponible sur la machine locale, mais les versions sont enregistrées sur le serveur. En d'autres termes, l'emplacement central gère les versions.

Un référentiel est une zone de stockage qui stocke les codes sources. Nous appelons le référentiel du serveur central le référentiel distant. S'il y a une panne dans l'emplacement central (serveur), le développeur ne peut pas accéder aux versions. De plus, le développeur ne pourra pas accéder au référentiel dans l'emplacement central en raison de problèmes de connectivité réseau. Voici quelques inconvénients d'un système de contrôle de version centralisé.

Qu'est-ce que le contrôle de version distribué

Le contrôle de version distribué fournit des solutions aux limitations du contrôle de version centralisé. Il y a un ensemble d'ordinateurs et un serveur. Le serveur dispose d'un référentiel distant. Dans le même temps, chaque ordinateur dispose de son propre référentiel local. Il n'y a pas de problème de panne du serveur car chaque machine dispose d'un référentiel local. Le référentiel est réparti entre plusieurs machines. Par conséquent, nous appelons cela un système de contrôle de version distribué.

De plus, dans cette configuration, chaque développeur dispose de son propre référentiel. Il peut effectuer une modification dans le référentiel local et la partager avec les autres développeurs. De plus, il n'y a aucune interférence d'autres référentiels. Chaque référentiel suit l'historique, effectue les modifications push et pull vers d'autres référentiels et prend en charge la fusion. De plus, s'il n'y a pas de connectivité réseau, le développeur peut créer des versions dans son propre référentiel local. Il peut transmettre les modifications au référentiel distant lorsque la connexion Internet est disponible.

Différence entre le contrôle de version centralisé et distribué

Définition

Le contrôle de version centralisé est la forme la plus simple de contrôle de version dans laquelle le référentiel central du serveur fournit le dernier code aux machines clientes. Le contrôle de version distribué, en revanche, est une forme de contrôle de version où la base de code complète (y compris son historique complet) est reflétée sur l'ordinateur de chaque développeur. C'est donc la principale différence entre le contrôle de version centralisé et distribué.

Dépôts locaux

Dans le contrôle de version centralisé, il n'y a pas de référentiels locaux; cependant, dans le contrôle de version distribué, il existe des référentiels locaux. Par conséquent, il s'agit également d'une différence importante entre le contrôle de version centralisé et distribué.

La vitesse

De plus, le contrôle de version distribué fonctionne plus rapidement que le contrôle de version centralisé.

Connectivité Internet

Objectif principal

En outre, une autre différence entre le contrôle de version centralisé et distribué est leur objectif. Le contrôle de version centralisé se concentre sur la synchronisation, le suivi et la sauvegarde des fichiers, tandis que le contrôle de version distribué se concentre sur le partage des modifications.

Les échecs

Dans le contrôle de version centralisé, une défaillance du serveur central met fin à toutes les versions, tandis qu'en contrôle de version distribué, une défaillance du serveur principal n'affecte pas le développement. C'est donc une autre différence importante entre le contrôle de version centralisé et distribué

Conclusion

le différence principale entre le contrôle de version centralisé et distribué est que, dans le contrôle de version centralisé, les versions sont enregistrées dans le référentiel distant tandis que, dans le contrôle de version distribué, les versions peuvent être enregistrées dans le référentiel distant ainsi que dans les référentiels locaux des machines locales.. En bref, le contrôle de version central est simple, mais il présente des inconvénients. En revanche, le contrôle de version distribué est plus flexible. Par conséquent, les systèmes de contrôle de version distribués tels que Git sont plus populaires dans le développement de logiciels.

Référence:

1. « Introduction au contrôle de version distribué (Illustré). » BetterExplained, disponible ici.2. « Tutoriel Git n° 0 | Qu'est-ce que Git ? | Github". YouTube, YouTube, 9 août 2017, disponible ici.3. « Contrôle des versions distribuées ». Wikipédia, Wikimedia Foundation, 27 mars 2019, disponible ici.

Image de courtoisie:

1. "contrôle de version" par Sean MacEntee (CC BY 2.0) via Flickr

Quelle est la différence entre le contrôle de version centralisé et distribué