Skip to content

Workflow Git

Ce document détaille les workflows Git adoptés pour les différents dépôts du projet Berth. Nous utilisons deux approches distinctes selon la nature et la complexité des composants.

Les dépôts suivants utilisent le GitFlow complet :

  • Agent
  • Server
  • Front

Le GitFlow est idéal pour les projets ayant des cycles de release structurés. Il utilise des branches master (ou main), develop, feature/*, release/* et hotfix/*.

gitGraph
    commit id: "Initial"
    branch develop
    checkout develop
    commit id: "Setup"
    branch feature/A
    checkout feature/A
    commit id: "Feature start"
    commit id: "Feature work"
    checkout develop
    merge feature/A
    branch release/1.0.0
    checkout release/1.0.0
    commit id: "Version bump"
    checkout main
    merge release/1.0.0 tag: "v1.0.0"
    checkout develop
    merge release/1.0.0
    branch hotfix/fix-bug
    checkout hotfix/fix-bug
    commit id: "Fix bug"
    checkout main
    merge hotfix/fix-bug tag: "v1.0.1"
    checkout develop
    merge hotfix/fix-bug

Les dépôts suivants utilisent le GitHub Flow :

  • Doc
  • DevOps

GitHub Flow est un workflow léger et agile, basé sur des branches éphémères qui sont fusionnées directement dans la branche principale après revue.

gitGraph
    commit id: "Initial"
    branch feature/new-ui
    checkout feature/new-ui
    commit id: "Update styles"
    commit id: "Add components"
    checkout main
    merge feature/new-ui
    commit id: "Deploy to prod"
    branch fix/config
    checkout fix/config
    commit id: "Update yaml"
    checkout main
    merge fix/config
Dépôt Workflow Justification
Agent GitFlow Nécessite une gestion stricte des versions et de la compatibilité.
Server GitFlow Cycles de release stables et gestion des correctifs critiques.
Front GitFlow Cycles de développement structurés et releases stables.
Doc GitHub Flow Mises à jour continues de la documentation.
DevOps GitHub Flow Approche CI/CD continue, changements souvent atomiques.