Tutoriel Git : Gérer les versions de projet avec Gitflow

Gitflow est une méthodologie de gestion de versions basée sur Git qui vous permet de gérer efficacement les déploiements et les releases de votre projet. Il s’agit d’un ensemble de règles et de pratiques qui décrivent comment utiliser les branches de Git pour gérer le cycle de vie d’un projet, des développements initiaux jusqu’à la mise en production.

Les branches de base de Gitflow

Gitflow utilise plusieurs branches de base pour gérer le cycle de vie d’un projet :

  • La branche « master » est la branche principale qui contient la version stable de votre projet.
git branch master
  • La branche « develop » est la branche où tous les développements sont intégrés.
git branch develop
  • Les branches « feature » sont utilisées pour les développements de nouvelles fonctionnalités.
git branch feature/ma_feature
  • Les branches « release » sont utilisées pour les préparatifs de release.
git branch release/1.0
  • Les branches « hotfix » sont utilisées pour les correctifs urgents.
git branch hotfix/critical_bug

Le workflow de Gitflow

Le workflow de Gitflow est basé sur l’idée de travailler sur des branches séparées pour chaque fonctionnalité, release ou correctif. Il est composé de plusieurs étapes :

Développer une nouvelle fonctionnalité

Pour développer une nouvelle fonctionnalité, vous devez créer une nouvelle branche « feature » à partir de la branche « develop » .

git branch feature/my_feature develop

 Vous pouvez ensuite travailler sur cette branche en utilisant les commandes de base de Git pour ajouter et gérer les fichiers du projet. Une fois que la fonctionnalité est terminée, vous pouvez fusionner la branche « feature » avec la branche « develop » .

git checkout develop
git merge feature/ma_feature

Préparer une release

Pour préparer une release, vous devez créer une nouvelle branche « release » à partir de la branche « develop » . 

git branch release/1.0 develop

Vous pouvez ensuite travailler sur cette branche pour finaliser les derniers détails de la release, comme la mise à jour de la documentation ou la résolution de bugs. Une fois que la release est prête, vous pouvez fusionner la branche « release » avec la branche « master » et ajouter un tag pour marquer cette version spécifique.

git checkout master
git merge release/1.0
git tag -a 1.0

Appliquer un correctif urgent

Pour appliquer un correctif urgent, vous devez créer une nouvelle branche « hotfix » à partir de la branche « master » . 

git branch hotfix/critical_bug master

Vous pouvez ensuite travailler sur cette branche pour résoudre le problème, puis fusionner la branche « hotfix » avec la branche « master » et ajouter un tag pour marquer cette version spécifique.

git checkout master
git merge hotfix/critical_bug
git tag -a 1.0.1

Ensuite, vous devez fusionner également la branche « hotfix » avec la branche « develop » pour intégrer les correctifs dans les prochains développements.

git checkout develop
git merge hotfix/critical_bug

Conclusion

En utilisant la méthodologie Gitflow, vous pouvez facilement gérer les déploiements et les releases de votre projet en utilisant les branches de Git de manière efficace. Cela permet également de maintenir une version stable de votre projet sur la branche « master » tout en continuant les développements sur la branche « develop » et de faciliter les corrections urgentes en utilisant la branche « hotfix » .

Ce chapitre signe la fin du tutoriel sur Git pour les débutants, vous avez maintenant les bases pour utiliser Git, si vous voulez parfaire votre maitrises, je vous invite à vous renseigner sur comment automatiser les tests et les déploiements en utilisant des outils tels que Jenkins ou TravisCI avec votre projet git.

Newsletter

Ne manquez jamais les nouveaux conseils, tutoriels et autres.

Pas de spam, jamais. Nous ne partagerons jamais votre adresse électronique et vous pouvez vous désabonner à tout moment.