4 min lecture • Guide 614 of 877
Meilleures Pratiques de Contrôle de Version
Le contrôle de version est le fondement du développement collaboratif - il permet aux équipes de travailler sur le code simultanément, suivre les changements et coordonner les releases. GitScrum s'intègre directement avec GitHub et GitLab pour connecter les commits, branches et pull requests aux tâches, créant une traçabilité complète de l'idée au déploiement.
Stratégies de Branchement
| Stratégie | Complexité | Meilleur Pour |
|---|---|---|
| Trunk-based | Basse | Déploiement continu |
| GitHub Flow | Basse | Releases régulières |
| GitFlow | Haute | Releases planifiées |
| Forking | Moyenne | Open source |
Workflows de Branchement
COMPARAISON STRATÉGIES DE BRANCHEMENT
TRUNK-BASED DEVELOPMENT:
┌─────────────────────────────────────────────────┐
│ main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ ╲ ╱ ╲ ╱ ╲ ╱ │
│ ┊ ┊ ┊ │
│ (petites branches courte durée) │
│ │
│ Caractéristiques: │
│ ├── Petits commits fréquents vers main │
│ ├── Feature flags pour travail incomplet │
│ ├── Branches vivent < 1 jour │
│ └── Intégration continue essentielle │
│ │
│ Meilleur pour: Équipes déploiement continu │
└─────────────────────────────────────────────────┘
GITHUB FLOW:
┌─────────────────────────────────────────────────┐
│ main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ ╲ ╱ ╲ ╱ │
│ ╲────────╱ ╲────────╱ │
│ feature-x feature-y │
│ │
│ Workflow: │
│ 1. Brancher depuis main │
│ 2. Commiter sur la branche │
│ 3. Ouvrir PR quand prêt │
│ 4. Réviser et discuter │
│ 5. Merger vers main │
│ 6. Déployer depuis main │
│ │
│ Meilleur pour: Cycles release simples régulier│
└─────────────────────────────────────────────────┘
GITFLOW:
┌─────────────────────────────────────────────────┐
│ main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ ╲ ╱ │
│ develop ─────────●─────────●───────── │
│ ╱ ╲ ╱ │
│ feature-a feature-b │
│ ╲ │
│ release/1.0 │
│ ╲ │
│ hotfix ─────────────────────●──── │
│ │
│ Branches: │
│ ├── main: Code production │
│ ├── develop: Branche intégration │
│ ├── feature/*: Nouvelles features │
│ ├── release/*: Préparation release │
│ └── hotfix/*: Corrections production │
│ │
│ Meilleur pour: Releases planifiées, versionné │
└─────────────────────────────────────────────────┘
Nommage des Branches
CONVENTIONS NOMMAGE BRANCHES
STRUCTURE:
┌─────────────────────────────────────────────────┐
│ type/description │
│ type/issue-description │
│ │
│ Exemples: │
│ ├── feature/user-authentication │
│ ├── feature/GS-123-export-csv │
│ ├── fix/login-timeout-error │
│ ├── fix/GS-456-missing-validation │
│ ├── refactor/simplify-payment-flow │
│ ├── docs/api-documentation │
│ └── chore/update-dependencies │
└─────────────────────────────────────────────────┘
TYPES:
┌─────────────────────────────────────────────────┐
│ feature/ - Nouvelles features │
│ fix/ - Corrections bugs │
│ hotfix/ - Corrections urgentes production │
│ refactor/ - Refactoring code │
│ docs/ - Documentation │
│ chore/ - Tâches maintenance │
│ test/ - Ajouts tests │
│ release/ - Préparation release │
└─────────────────────────────────────────────────┘
RÈGLES:
┌─────────────────────────────────────────────────┐
│ ✓ Minuscules seulement │
│ ✓ Tirets pour séparer les mots │
│ ✓ Inclure numéro ticket si applicable │
│ ✓ Descriptif mais concis │
└─────────────────────────────────────────────────┘