-
main : branche principale à ne pas toucher (sauf pour les mise en production)
-
dev : branche de développement (à partir de laquelle on crée des branches de fonctionnalités et on merge les branches de fonctionnalités)
- feature/(nom-de-la-fonctionnalité-initiale-dev) : branche de fonctionnalité (à partir de la branche dev)
Avant de commencer :
git checkout dev
: on se place sur la branche devgit pull origin dev
: on s'assure de récupérer les mises à jour de la branche devgit branch feature/(nom-de-la-fonctionnalité)
: on crée une nouvelle branche de fonctionnalitégit checkout feature/(nom-de-la-fonctionnalité)
: on se place sur la nouvelle branche de fonctionnalité
Après avoir effectué des modifications :
git add .
: on ajoute les fichiers modifiésgit commit -m "message"
: on commit les modificationsgit push origin feature/(nom-de-la-fonctionnalité)
: on push la branche de fonctionnalité sur le repo distant- on crée une pull request sur github pour merger la branche de fonctionnalité sur la branche dev
- En cas de conflit, on résout le conflit en local, on commit et on push à nouveau. Pour cela, il faut:
git checkout dev
: on se place sur la branche devgit pull origin dev
: on s'assure de récupérer les mises à jour de la branche devgit checkout feature/(nom-de-la-fonctionnalité)
: on se place sur la branche de fonctionnalitégit rebase dev
: on rebase la branche de fonctionnalité sur la branche dev- on résout les conflits en local
git add .
: on ajoute les fichiers modifiés (résolution des conflits)git rebase --continue
: on continue le rebasegit push origin feature/(nom-de-la-fonctionnalité)
: on push la branche de fonctionnalité sur le repo distant- on crée une pull request sur github pour merger la branche de fonctionnalité sur la branche dev