Files
archicratie-edition/docs/WORKFLOW-GIT.md

2.1 KiB
Raw Blame History

WORKFLOW-GIT — branches, PR, tags (standard “main”)

0) Objectif

  • Tout le monde (toi compris) suit un protocole unique.
  • Zéro ambigüité entre “ce qui tourne” et “ce qui est versionné”.

1) Branches : politique

main (branche de travail)

  • Branche par défaut du repo.
  • Tout changement passe idéalement par PR (même si tu es seul).

master (legacy/compat)

  • Doit rester alignée sur main (si vous gardez master).
  • Protégée contre push accidentel (pas de force-push, pas de push direct).
  • Nest pas un axe de travail.

branches de feature

Conventions recommandées :

  • fix/<sujet> : correctif
  • feat/<sujet> : nouvelle fonction
  • ops/<sujet> : infra, déploiement, scripts, docs ops

2) PR (même si tu es seul)

  • Créer une PR → vérifier CI (Actions) → merge.
  • Règle : “Prevent merge if checks fail” activée (bonne pratique).
  • Approvals : 0 (si tu es seul).

3) Tags

  • Tags darchives : archive-master-<YYYYmmdd-HHMMSS> (déjà fait).
  • Snapshots prod : prod-snapshot-<YYYYmmdd-HHMMSS> si besoin.

4) Commandes standard (Mac)

Se mettre parfaitement à jour

en sh : git checkout main git fetch origin --prune --tags git reset --hard origin/main git clean -fd # optionnel : supprime untracked

Publier un changement

git checkout -b fix/

edits...

git add -A git commit -m "fix: " git push -u origin HEAD

PR via UI, merge

5) Remote case-sensitive (piège déjà rencontré)

Le repo peut exister avec Owner en casse différente (ex: Archicratia vs archicratia). Standard : remote doit être :

https://.../Archicratia/archicratie-edition.git

Vérifier : git remote -v

6) NAS : pas de git natif

Sur NAS, on ninstalle pas forcément git dans le shell. Standard : utiliser alpine/git en conteneur (cf. OPS-SYNC-TRIPLE-SOURCE).

7) Interdits (pour éviter lenfer)

Éditer des fichiers du repo via FileStation “pour aller vite” (sauf hotfix durgence, puis backport immédiat Git).

Pousser sur master (sauf opération contrôlée dalignement).

Force-push sur main.