GNU/Linux >> Tutoriels Linux >  >> Linux

Introduction au système de contrôle de version

Si vous êtes un programmeur ou un développeur et que vous travaillez sur des applications logicielles ou sur un site Web, vous aurez certainement besoin d'un système de gestion des versions pour suivre les modifications. Système de contrôle de version est également appelé SCM (S source C ode Management) ou outils RCS (R révision C contrôle S système).

Le contrôle de version est une méthode ou une catégorie d'outils logiciels qui aide à garder une trace des changements dans le code afin que si quelque chose ne va pas, nous puissions faire des comparaisons dans différentes versions de code et pouvoir facilement revenir aux versions précédentes. C'est très utile lorsque plusieurs développeurs travaillent en permanence ou modifient le code source.

Avantages du système de contrôle de version

À l'aide de VCS, les programmeurs peuvent consulter l'historique du projet pour connaître les détails suivants :

  • Quelles modifications ont été apportées au code ?
  • Qui a apporté les modifications au code ?
  • Quand les modifications ont-elles été apportées au code ?
  • Pourquoi des modifications étaient-elles nécessaires ?

Voici une illustration graphique simple qui vous donne une idée du fonctionnement réel de VCS.

Dans la figure ci-dessus, la première ligne avec les boules bleu clair est la branche principale qui est la branche principale du code source. Donc v0.1 et v0.2 sont les multiples versions créées pour prendre le genre d'instantané de l'ensemble du code source. Nous avons créé plusieurs branches à partir de la branche principale comme la branche release, develop et hotfix selon les besoins. Plusieurs développeurs peuvent travailler sur le même projet en créant différentes branches et à la fin le fusionner avec la branche principale.

Types de VCS

Il existe deux types de VCS, à savoir :

  1. Système de contrôle de version centralisé (CVCS),
  2. Système de contrôle de version distribué (DVCS).

Voyons d'abord un bref aperçu du système de contrôle de version centralisé.

Système de contrôle de version centralisé

Le système de contrôle de version centralisé fonctionne sur une relation client-serveur. Le serveur aura toutes les informations qui sont
transféré au client. Vous pouvez dire qu'il s'agit d'une sorte de référentiel partagé qui fournit le dernier code aux développeurs. Ainsi, les développeurs travailleront à chaque fois sur la copie principale. C'est aussi simple que vous devez extraire la dernière copie de code, travailler dessus (valider les modifications), puis renvoyer le code dans le référentiel.

Le principal inconvénient du VCS centralisé est qu'il s'agit d'un point de défaillance unique. Si le serveur central tombe en panne, vous ne pouvez pas l'utiliser. Si vous effectuez une validation à distance, cela prendra également du temps. Vous aurez besoin d'une connexion Internet pour valider les modifications.

Exemples :

  • Open source -> Système de versions concurrentes (CVS), Subversion (SVN).
  • Propriétaire -> TeamCity, Vault, IBM Configuration Management Version Control (CMVC).

Système de contrôle de version distribué

Le système de contrôle de version distribué dispose d'un référentiel centralisé et tous les développeurs disposent d'une copie locale du référentiel.
Les développeurs peuvent travailler simultanément sur leur copie locale. Ils n'ont pas besoin d'une connexion Internet pour travailler sur le code. Ils peuvent tout faire dans le code sauf pousser et tirer. Si le serveur central tombe en panne, il n'y aura pas non plus d'impact à cause du référentiel local.

Exemples :

  • Open source - Git, Mercurial, Bazar.
  • Propriétaire - Services de l'équipe Visual Studio, SCM plastique.

Différence entre l'architecture SVN (VCS centralisé) et GIT (VCS distribué)

Le graphique suivant explique la différence entre CVCS et DVCS.

À partir de la figure ci-dessus, nous pouvons facilement reconnaître que dans SVN (VCS centralisé), nous n'avons qu'un référentiel central, mais dans GIT (VCS distribué), nous avons un référentiel central ainsi qu'un référentiel local.

J'espère que vous avez compris l'idée de base du VCS et de ses types. Nous publierons plus de guides liés au VCS dans les jours à venir. Restez à l'écoute !

Lire connexe :

  • Qu'est-ce que Git et comment l'installer sous Linux

À propos de l'auteur :

Dhruv Tiwari est un ingénieur DevOps qui aime automatiser les choses, travailler avec Linux à grande échelle et rêver du jour où les systèmes seront suffisamment intelligents pour ne jamais avoir besoin de se connecter à une machine Linux. Journey Of CI/CD du code source au déploiement du code jusqu'à la production.


Linux
  1. Comment vérifier la version du système d'exploitation et de Linux

  2. Une introduction aux listes de contrôle d'accès Linux (ACL)

  3. Survivre à un audit de sécurité avec Enterprise Linux

  4. Introduction à la virtualisation :un guide complet pour les débutants

  5. manière correcte d'encoder/d'intégrer le numéro de version dans le code du programme

Introduction au système de fichiers Linux

Comment vérifier la version Linux

Introduction aux cgroups d'un administrateur système Linux

Comment installer le système de contrôle de version Git sur Debian 11

Contrôler l'utilisation des ressources système avec la commande Ulimit

Guide pratique :Introduction à la programmation - Contrôle de flux