2.1 KiB
2.1 KiB
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).
- N’est pas un axe de travail.
branches de feature
Conventions recommandées :
fix/<sujet>: correctiffeat/<sujet>: nouvelle fonctionops/<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 d’archives :
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 n’installe pas forcément git dans le shell. Standard : utiliser alpine/git en conteneur (cf. OPS-SYNC-TRIPLE-SOURCE).
7) Interdits (pour éviter l’enfer)
Éditer des fichiers du repo via FileStation “pour aller vite” (sauf hotfix d’urgence, puis backport immédiat Git).
Pousser sur master (sauf opération contrôlée d’alignement).
Force-push sur main.