Aller au contenu principal
Bonnes pratiques Git · Vue d’ensemble

Bonnes pratiques
Git

Un historique lisible, des intégrations sans surprise et un dépôt qui ne met jamais la production en danger.

Pourquoi

Chaque projet AGITEX vit dans GitLab et se déploie par Git, via ArgoCD. Des pratiques communes évitent les conflits, accélèrent les revues et permettent à n’importe quel membre de l’équipe de reprendre le travail d’un autre.

Les dix règles d’or​

  1. On ne pousse jamais directement sur develop, recette, main, preprod ou prod : tout passe par une merge request.
  2. Une branche = un sujet, créée depuis le dernier origin/develop et supprimée après la fusion.
  3. Des branches courtes : quelques jours de travail, pas quelques semaines.
  4. Des commits atomiques, qui compilent, avec un message au format type(portée): description.
  5. On se met à jour souvent avec git fetch et git rebase origin/develop, pas avec un git pull qui fusionne.
  6. On ne réécrit jamais un historique partagé : sur une branche commune, on annule avec git revert.
  7. On reteste après chaque rebase ou résolution de conflit, avant de pousser.
  8. Aucun secret dans Git : mots de passe, jetons, clés et fichiers .env restent hors du dépôt.
  9. La CI doit être verte et les discussions résolues avant toute fusion.
  10. Pas de panique : un travail commité se retrouve presque toujours avec git reflog.

Le parcours d’une modification​

Ticket CMA-142
│
▼
feature/CMA-142-export-ordonnances ← créée depuis origin/develop
│ commits atomiques, rebase régulier sur origin/develop
▼
Merge request → develop ← revue + pipeline vert
│
▼
Merge request develop → recette ← validation fonctionnelle
│
▼
Merge request recette → main ← version livrable, la CI publie l'image
│
▼
Dépôt GitOps : recette → preprod → prod ← promotion par merge, déployée par ArgoCD

Les guides​

GuideCe que vous y trouverez
Configuration du posteIdentité, clé SSH, configuration recommandée, .gitignore et .gitattributes
Branches & workflowBranches longues et courtes, nommage, dépôt GitOps, protection dans GitLab
Commits & messagesCommits atomiques, format Conventional Commits, ce qu’on ne commite jamais
Merge requests & revuePréparer une MR, la décrire, la relire, la fusionner
Éviter les conflitsPrévenir les conflits, se mettre à jour, résoudre pas à pas
Git avancéRebase interactif, annuler, récupérer, cherry-pick, hotfix et tags
Sécurité du dépôtSecrets, authentification, droits d’accès et poste de travail

Sources​

Ces guides s’appuient sur la documentation GitOps interne (CI-CD.md du dépôt agitex-bf-apps) et s’inspirent des documents suivants :

  • Advanced Git and GitHub best practices for software developers, M. Oliveira et H. Jayasuriya, ACCESS-NRI, 2024.
  • Git Best Practises, The Pencil Code Team, 2019.
  • Guide d’hygiène informatique – 42 mesures, ANSSI, 2017.
  • Guide des bonnes pratiques de l’informatique – 12 règles essentielles, CPME et ANSSI, 2017.