Pourquoi faire de la gestion de version ?
I. S'inscrire dans la culture DevOps
Aujourd'hui, la gestion de version fait partie intégrante de tout processus de développement, elle favorise le travail collaboratif et permet de faire une gestion rigoureuse du code source. Versionner manuellement son code et le conserver en plusieurs copies (v1, v2, v3, etc.) sur son poste de travail n'est pas tout simplement pas efficace. Cette approche présente de nombreux inconvénients :
- Elle rend difficile le suivi des différences entre les versions
- Elle ne favorise pas la collaboration
- Elle ne fournit pas de point centralisé pour conserver le code source
Même si vous travaillez seul sur un projet, l'utilisation d'un VCS vous facilitera la tâche en vous donnant la possibilité de consulter les changements que vous avez apportés dans le temps tout en vous permettant de revenir à une version antérieure de vos fichiers.
Avec l’avènement des méthodes agiles et de la culture DevOps, versionner son code est devenu une pratique incontournable. Nous n'insisterons pas sur ce point dans ce cours, mais connaître Git est une compétence essentielle pour la mise en œuvre d'un processus d'intégration continue/déploiement continu (CI/CD).
II. Les avantages de la gestion de version
La gestion de version présente de nombreux avantages dont les principaux sont les suivants :
- Sécurité du code source : L'utilisation d'un VCS permet de réduire considérablement les risques de perdre du code. Chaque modification est enregistrée et peut être restaurée en cas de besoin.
- Centralisation du code source : Le dépôt d'un VCS peut facilement être copié sur une plateforme web d'hébergement de code source comme GitHub ou GitLab afin de disposer d'un dépôt centralisé qui pourra servir référence pour une équipe de développement.
- Suivi des modifications : Un VCS conserve une trace de toutes les modifications apportées au code : le nom de l'utilisateur, la date et ce qui a été changé. Ceci permet d'avoir un historique des changements et de savoir, notamment, pourquoi certaines décisions ont été prises ou à quel moment une nouvelle version du logiciel a été introduite.
- Collaboration améliorée : Un VCS comme Git permet à plusieurs développeurs de travailler simultanément sur le même projet sans risquer d'écraser le travail des autres. Il facilite également la répartition des tâches grâce aux branches qui permettent de travailler sur différentes fonctionnalités en parallèle. Nous reviendrons plus loin sur le concept de branche.
- Retour en arrière et récupération : En cas de bug ou d'erreur de manipulation, un VCS permet de revenir facilement à une version antérieure stable du code. Dans l'éventualité d'une perte de données sur un dépôt local, il est toujours possible de récupérer le code stocké sur un dépôt distant.
- Intégration et déploiement continus : Un VCS comme Git s'intègre très bien avec les outils d'intégration continue (CI) et de déploiement continu (CD), rendant le processus de développement plus fluide et automatisé.
En somme, l'utilisation d'un gestionnaire est une pratique essentielle pour le développement moderne où la collaboration, la qualité du code et l'efficacité des processus sont primordiaux dans toutes les phases du cycle de développement logiciel.
Dans la section suivante, nous allons procéder à l'installation de Git et nous familiariser avec les principales commandes de Git Bash.