Repository navigation
Expand file tree
/
Copy pathgit_flow.txt
More file actions
121 lines (82 loc) · 6.76 KB
/
Copy pathgit_flow.txt
File metadata and controls
121 lines (82 loc) · 6.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Git Flow est un modèle de gestion de branches populaire pour les projets Git, créé par Vincent Driessen. Il fournit une structure claire pour organiser le développement logiciel avec Git en utilisant plusieurs branches pour gérer les différentes phases du cycle de vie d'un projet. Voici les détails clés de Git Flow :
1. **Branches principales** :
- **master** : La branche `master` est considérée comme la branche principale et stable du projet. Elle contient uniquement les versions de production.
- **develop** : La branche `develop` est l'endroit où le développement actif a lieu. Elle est souvent instable car elle contient les dernières fonctionnalités en cours de développement.
2. **Branches de fonctionnalités (feature branches)** :
- Pour chaque nouvelle fonctionnalité ou amélioration, une nouvelle branche de fonctionnalité est créée à partir de `develop`.
- Ces branches ont généralement un nom descriptif, par exemple, `feature/nouvelle-fonctionnalite`.
3. **Branches de version (release branches)** :
- Lorsqu'une version est prête à être testée et publiée, une branche de version est créée à partir de `develop`.
- Cette branche est utilisée pour résoudre les bogues de dernière minute et effectuer des tests de stabilisation.
- Une fois terminée, la branche de version est fusionnée à la fois dans `master` (pour la publication) et `develop` (pour les modifications futures).
4. **Branches correctives (hotfix branches)** :
- En cas de problèmes critiques en production nécessitant une correction immédiate, une branche de correctif est créée à partir de `master`.
- Une fois le correctif appliqué, il est fusionné à la fois dans `master` et `develop`.
5. **Support branches** (optionnel) :
- Parfois, vous pouvez avoir besoin de maintenir plusieurs versions de votre logiciel en parallèle. Dans ce cas, des branches de support sont créées à partir de `master`.
- Ces branches sont utilisées pour appliquer des correctifs critiques à des versions antérieures.
6. **Intégration continue (CI)** :
- Git Flow encourage l'utilisation de systèmes d'intégration continue pour automatiser les tests, les builds et les déploiements.
7. **Publication** :
- Les versions majeures du logiciel sont publiées en fusionnant la branche de version dans `master`.
- Les versions mineures peuvent être publiées en fusionnant la branche de correctif dans `master`.
- Après chaque publication, il est recommandé de fusionner les changements dans `develop` pour s'assurer que les deux branches restent synchronisées.
8. **Bonnes pratiques** :
- Git Flow encourage la documentation des branches et la création de pull requests pour la fusion des branches, ce qui facilite la revue du code.
- Il est important de communiquer avec l'équipe pour s'assurer que tout le monde suit le modèle Git Flow.
Git Flow offre une structure claire pour la gestion des branches dans un projet Git, mais il peut être relativement complexe, en particulier pour les projets plus importants. Il est important de noter que d'autres modèles de gestion des branches, comme GitHub Flow et GitLab Flow, peuvent être plus simples et mieux adaptés à certains types de projets. Vous devriez choisir le modèle qui convient le mieux à votre équipe et à votre flux de travail.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pour utiliser Git Flow de manière complète, suivez ces étapes :
1. **Installation de Git Flow** :
Assurez-vous d'avoir Git Flow installé sur votre système. Vous pouvez trouver des instructions d'installation spécifiques à votre système d'exploitation sur le site officiel de Git Flow.
2. **Initialisation du dépôt** :
Commencez par initialiser un nouveau dépôt Git ou cloner un dépôt existant.
3. **Initialisation de Git Flow** :
Une fois que le dépôt est prêt, exécutez la commande suivante pour initialiser Git Flow :
```bash
git flow init
```
Suivez les invites pour configurer les noms des branches principales et des préfixes des branches (par défaut, master et develop).
4. **Création de branches de fonctionnalités** :
Pour ajouter de nouvelles fonctionnalités, utilisez la commande suivante :
```bash
git flow feature start nom-de-la-fonctionnalite
```
Cela créera une nouvelle branche de fonctionnalité basée sur `develop`.
5. **Travail sur la fonctionnalité** :
Effectuez des modifications dans la branche de fonctionnalité, faites des commits et poussez-les vers le dépôt.
6. **Fin de la fonctionnalité** :
Lorsque la fonctionnalité est terminée, utilisez la commande suivante pour la finaliser :
```bash
git flow feature finish nom-de-la-fonctionnalite
```
Cela fusionnera la branche de fonctionnalité dans `develop` et la supprimera.
7. **Création de branches de version** :
Lorsque vous êtes prêt à préparer une nouvelle version, créez une branche de version avec :
```bash
git flow release start 1.0.0
```
1.0.0 est un exemple de numéro de version.
8. **Tests et correction de bogues de version** :
Effectuez des tests de stabilisation et corrigez les bogues au besoin dans la branche de version.
9. **Publication de la version** :
Lorsque la version est prête à être publiée, utilisez la commande :
```bash
git flow release finish 1.0.0
```
Cela fusionnera la branche de version dans `master` et `develop`, et vous pourrez ajouter des étiquettes (tags) Git pour marquer la version.
10. **Correction de bogues en production (hotfix)** :
Si des problèmes critiques surviennent en production, créez une branche de correctif avec :
```bash
git flow hotfix start nom-du-correctif
```
Une fois le correctif appliqué, finalisez-le avec :
```bash
git flow hotfix finish nom-du-correctif
```
Cela fusionnera la correction à la fois dans `master` et `develop`.
11. **Maintenance de versions antérieures (optionnel)** :
Si vous devez maintenir des versions antérieures, utilisez des branches de support en créant et finalisant des branches de support comme des branches de version.
12. **Communication et collaboration** :
Communiquez avec votre équipe pour garantir que tout le monde suit le modèle Git Flow et effectue des revues de code régulières.
N'oubliez pas d'ajouter des commentaires aux branches et aux étiquettes Git pour documenter les changements et les versions. Git Flow est un modèle puissant, mais il nécessite une bonne communication et une gestion disciplinée des branches pour fonctionner efficacement. Assurez-vous également de personnaliser les noms des branches et les préfixes selon les besoins de votre projet.