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 :

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).