Git est la fondation de tout workflow DevOps moderne. Sans une bonne maîtrise de Git et des conventions d'équipe, impossible de mettre en place une CI/CD efficace. Voyons les bonnes pratiques qui font la différence.
Pourquoi Git est crucial pour le DevOps
- Tout le code est versionné (applications, infrastructure, configs)
- La CI/CD se déclenche sur des événements Git (push, merge request)
- Les revues de code passent par les merge/pull requests
- Le rollback est un simple
git revert
Les conventions de commits
Un bon message de commit raconte une histoire. Adoptez la convention Conventional Commits :
# Format
<type>(<scope>): <description>
# Exemples
feat(auth): add OAuth2 login
fix(api): handle null response from payment service
docs(readme): update installation steps
refactor(database): optimize user queries
chore(deps): update axios to 1.6.0Types courants :
feat: nouvelle fonctionnalitéfix: correction de bugdocs: documentationrefactor: refactoring sans changement fonctionneltest: ajout/modification de testschore: maintenance (dépendances, CI...)
GitFlow expliqué
GitFlow est un modèle de branching qui structure le développement avec des branches dédiées.
Les branches principales
main(ou master) : code en productiondevelop: intégration des features, base pour staging
Les branches de support
feature/*: nouvelles fonctionnalités (depuis develop)release/*: préparation d'une release (depuis develop)hotfix/*: corrections urgentes (depuis main)
Workflow typique
# Créer une feature
git checkout develop
git checkout -b feature/user-profile
# Travailler sur la feature...
git add .
git commit -m "feat(profile): add avatar upload"
# Pousser et créer une Merge Request
git push origin feature/user-profile
# Après review et merge dans develop
git checkout develop
git pull📊 Maîtrisez Git comme un pro
Notre formation DevOps inclut un module complet sur Git, GitFlow et les workflows CI/CD.
Voir le programme →GitFlow vs Trunk-Based Development
GitFlow n'est pas la seule option. Le Trunk-Based Development (utilisé par Google, Facebook) privilégie des branches très courtes et des merges fréquents.
| GitFlow | Trunk-Based |
|---|---|
| Branches longues | Branches courtes (< 1 jour) |
| Releases planifiées | Déploiement continu |
| Bon pour les équipes traditionnelles | Bon pour les équipes matures |
Bonnes pratiques Git
- Commits atomiques : un commit = un changement logique
- Branches courtes : mergez souvent pour éviter les conflits
- Revues de code : toujours via Merge Request
- Protection des branches : main et develop protégées
- Hooks : utilisez pre-commit pour le linting
- Rebase vs Merge : préférez rebase pour un historique propre
Conclusion
Git n'est pas juste un outil de versioning : c'est le pilier de votre workflow DevOps. Adoptez des conventions claires, choisissez un modèle de branching adapté à votre équipe, et automatisez au maximum avec les hooks et la CI/CD.