Git est un logiciel de gestion de versions décentralisé créé par Linus Torvalds (concepteur du noyau Linux) et distribué selon les termes de la licence GPL v2. Il s’adapte à toutes les typologies de projets et j’ai eu l’occasion d’éprouver un workflow Git très efficace sur un projet web métier (développement d’une GMAO) qui dure depuis maintenant 2 ans.
Je ne vais pas décrire ici le worklow en lui même puisque Florent Lebreton (le designer de ce workflow Git, merci à lui !) l’a très bien fait dans deux posts de blog :
- En français : Un workflow Git efficace pour les projets à moyen/long terme
- En Anglais : An efficient GIT workflow for mid/long term projects
Juste pour donner l’envie de découvrir ce workflow Git, en voici les avantages :
- La branche master est toujours propre et fonctionnelle ;
- Les développeurs n’ont pas à se préoccuper du workflow Git complet ;
- Des corrections peuvent être déployées rapidement, sans stress ;
- Chaque release stable contient les nouvelles fonctionnalités et les éventuelles corrections ;
- Travailler dans des branches systématiquement et utiliser l’option –no-ff permet d’avoir un historique vraiment clair ;
- Ce workflow est évolutif (un accroissement du nombre de branches ou de développeurs n’a pas vraiment d’impact).
La description du projet pour les besoins duquel ce workflow a été mis en place est consultable sur le site de Makina Corpus . Il s’agit d’une application de GMAO (Gestion de Maintenance Assistée par Ordinateur) permettant d’automatiser intégralement le processus de gestion des interventions sur un parc d’équipements (camions, dépôts pétroliers, …) à travers une application web offrant une interface efficace et ergonomique en lien avec les applications métiers de l’entreprise (ERP, gestion des stocks, pré-facturation, …). Cette application est réalisée en Django et Twitter Bootstrap (entre autres).