03-comment-je-travaille/guides/github.md

GitHub

Stratégie de branche : solo + IA (choix assumé)

Le workflow Codexia est en mode solo assisté par IA. Dans ce contexte, le report develop → master se fait en merge direct (fast-forward), sans pull request, et master n'est volontairement pas protégée.

Pourquoi ce choix (et non la protection + PR « par défaut ») :

  • La protection de branche et les PR sont avant tout un garde-fou d'Ă©quipe : Ă©viter qu'un contributeur inexpĂ©rimentĂ© n'abĂ®me le dĂ©pĂ´t, et organiser la revue.
  • Historiquement (sans IA), reconstituer des branches propres Ă©tait laborieux ; la PR servait aussi de filet.
  • En solo + IA, ce risque disparaĂ®t : un seul dĂ©cideur, et l'assistant maintient un historique linĂ©aire et propre (--ff-only, tags immuables, commits explicites — voir releases.md). La cĂ©rĂ©monie PR n'ajoute alors que de la friction.

Choix délibéré, pas un oubli. Une instance qui voudrait « corriger » ce point vers du PR-only se tromperait de contexte.

Quand (ré)activer la protection

Dès qu'un collaborateur humain supplémentaire ou une CI entre en jeu, on bascule vers la protection de master + PR (le risque « contributeur inexpérimenté » et le besoin de checks réapparaissent). Le how-to ci-dessous sert alors de référence.

Optionnel (sans contrainte) : branche par défaut

Définir develop comme branche par défaut du dépôt (Settings → General → Default branch) est pratique pour que clones et PR pointent dessus. Sans impact sur le workflow solo.

How-to — Verrouillage de master (mode équipe / CI)

À appliquer le jour où une équipe ou une CI existe :

  1. Ouvrir le dépôt sur GitHub.
  2. Settings → Branches.
  3. Branch protection rules → Add rule.
  4. Branch name pattern : master.
  5. Activer au minimum :
    • Require a pull request before merging : force le passage par PR, Ă©vite les push directs sur master.
    • Require approvals : impose une ou plusieurs revues avant merge (qualitĂ©, partage de connaissances).
    • Require status checks to pass : bloque le merge tant que les checks CI ne sont pas verts.
    • Require linear history : interdit les merge commits, conserve un historique linĂ©aire.
    • Require conversation resolution : impose de rĂ©soudre les commentaires avant merge.
    • Do not allow bypassing the above settings : empĂŞche les bypass (mĂŞme admins) pour un verrou strict.
  6. Cliquer sur Create ou Save changes.

Note : certaines protections/rulesets ne sont appliquées sur les dépôts privés que via un compte GitHub Team/Enterprise.

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.

Loading…
Loading the web debug toolbar…
Attempt #