Comprendre le fonctionnement de git c'est une chose, arriver à l'utiliser correctement c'est autre chose ! Ne vous inquiétez pas, d'autres ont réfléchi à la problématique en proposant une stratégie particulière pour créer vos branches. La solution la plus connue est Git Flow.
Principes de base
Le principe de base de fonctionnement est d'avoir 2 branches principales
- main ou anciennement master, est la branche qui sera reliée à la mise en production de votre application.
- develop, est une branche sur laquelle tous les développeurs vont travailler.
Mais si tout le monde commence à travailler sur la même branche, l'historique peut rapidement devenir fouilli et les modifications risquent de se court-circuiter. Ainsi on a second niveau de branche :
- Les branches
feature/XXXX
permettent de commencer à travailler sur une nouvelle fonctionnalité. On crée une nouvelle branche à partir de la branche develop, on fait nos commits dessus et quand on finit on fusionne sur la branche develop. - Les branches
release/XXXX
permettent de faire la liaison entre la branche develop et la branche. En général cette branche contiendra des commits pour préparer une nouvelle release (on va changer le numéro de version dans le fichier readme par exemple). - Les branches
hotfix/XXXX
permettent de publier rapidement une correction depuis la branche master. Une fois la correction validée nos modifications seront fusionnées sur la branche master et develop.
git flow
Au premier abord la mise en place de cette stratégie peut sembler pénible, car elle oblige la création de nombreuses branches. Heureusement il existe un système permettant de vous simplifier la tache : git flow
.
Cet outil permet de mettre en pratique la démarche précédente très simplement avec un vocabulaire simple. D'ailleurs, pour débuter je vous conseille d'utiliser cette petite page qui vous permettra de repérer rapidement les différentes commandes en reprenant de manière visuelle la structure décrite précédente.