git au quotidien

Snapshot vs. Diff

Snapshot

Concepts, états & remote

states

Git Flow

  • On develop est la branche de staging courante
  • Les features partent de develop
  • master correspond à la prod
  • release correspond à la pre-prod ou release candidate
  • Les hotfix partent de master et sont mergés dans master et develop

Inconvénient:
C’est un modèle un peu complexe qui demande de la rigueur et implique une certaine lourdeur.

git flow model

Github Flow

  • Uniquement un master et des features
  • Modèle ultra-simple
  • Induit des déploiements fréquents et limite ainsi la quantité de code en attente

Inconvénient:
La prod fait office de test pour les branches et de staging et de pré-prod. http://scottchacon.com/2011/08/31/github-flow.html

github flow model

Gitlab Flow

  • Github flow part du principe qu’à tout moment master peut être déployé, en pratique cela n’est pas toujours possible.
  • Gitlab flow introduit une branche de production
  • Ce modèle évite la lourdeur du processus de release/tag lié à gitflow.
  • C’est un modèle souple adapté aux applications de type SaaS.
  • Il est possible d’y ajouter une branche de pré-prod si besoin
  • Enfin une variante consiste à créer un branche par release
gitlat flow model gitlat flow model gitlat flow model