Bonnes pratiques Git · Vue d’ensembleBonnes pratiques
Bonnes pratiques
Git
Un historique lisible, des intégrations sans surprise et un dépôt qui ne met jamais la production en danger.
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
- On ne pousse jamais directement sur
develop,recette,main,preprodouprod: tout passe par une merge request. - Une branche = un sujet, créée depuis le dernier
origin/developet supprimée après la fusion. - Des branches courtes : quelques jours de travail, pas quelques semaines.
- Des commits atomiques, qui compilent, avec un message au format
type(portée): description. - On se met à jour souvent avec
git fetchetgit rebase origin/develop, pas avec ungit pullqui fusionne. - On ne réécrit jamais un historique partagé : sur une branche commune, on annule avec
git revert. - On reteste après chaque rebase ou résolution de conflit, avant de pousser.
- Aucun secret dans Git : mots de passe, jetons, clés et fichiers
.envrestent hors du dépôt. - La CI doit être verte et les discussions résolues avant toute fusion.
- 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
| Guide | Ce que vous y trouverez |
|---|---|
| Configuration du poste | Identité, clé SSH, configuration recommandée, .gitignore et .gitattributes |
| Branches & workflow | Branches longues et courtes, nommage, dépôt GitOps, protection dans GitLab |
| Commits & messages | Commits atomiques, format Conventional Commits, ce qu’on ne commite jamais |
| Merge requests & revue | Préparer une MR, la décrire, la relire, la fusionner |
| Éviter les conflits | Pré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ôt | Secrets, 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.