Bonnes pratiques Git et GitLab 18 min de lecture

Strategies de branching

Git Flow

Git Flow est une strategie de branching populaire avec des branches bien definies.

  • main : code en production
  • develop : integration des features
  • feature/* : nouvelles fonctionnalites
  • release/* : preparation de version
  • hotfix/* : corrections urgentes en production
# Creer une feature
git switch -c feature/nouvelle-page develop
# ... travailler ...
git switch develop
git merge feature/nouvelle-page

# Creer un hotfix
git switch -c hotfix/fix-login main
# ... corriger ...
git switch main
git merge hotfix/fix-login

GitLab Flow (simplifie)

GitLab recommande une approche plus simple :

  • main : branche par defaut
  • feature branches : une branche par feature/bug
  • Merge Requests : seul moyen de merger dans main
  • Environments : staging et production lies aux branches ou tags
# Workflow GitLab Flow
git switch -c feature/42-ajouter-panier
# ... travailler et committer ...
git push -u origin feature/42-ajouter-panier
# Creer une MR vers main
# Apres review et merge, deployer automatiquement
Recommandation : Pour la plupart des equipes, GitLab Flow est plus simple et suffisant. Git Flow est utile pour les projets avec des releases planifiees.