J'ai migré plusieurs de mes projets vers le flux de travail git flow, et j'adore ça. Cependant, je n'ai pas trouvé de meilleure pratique qui permette aux choses de se dérouler aussi facilement lorsque vous travaillez avec un projet dans lequel plusieurs versions principales sont maintenues à la fois.
Plus précisément, je ne maintiens pas une "version gratuite" et une "version payante" ou tout autre modèle parallèle, je parle d'un projet dans lequel la version 1 est publiée et reste pris en charge avec les versions mineures (1.1, 1.2, etc. .) jusqu'à la sortie de la version 3, à laquelle les points 2 et 3 seraient maintenus, jusqu'à ce que la version 4 soit publiée ... vous avez l'idée.
Comment avez-vous, ou voulez-vous, gérer deux ou plusieurs versions prises en charge d'un projet à la fois dans un workflow gitflow?
Réponses:
man gitworkflows
, le grand papa du flux de travail «git flow», décrit les directives générales du flux de travail git; l'utilisation depu
,next
,master
et lesmaint
branches; et commentmaint
est géré. Si vous avez des branches d'entretien multiples, vous pouvez les nommer, par exemple,maint/1.x
,maint/2.x
et ainsi de suite.La clé n'est pas tant de savoir comment utiliser les commandes git, mais comment construire un processus raisonnable. Décidez des éléments importants pour vous (facilité de rétroportage?) Et créez (et documentez) un flux de travail qui satisfait ces contraintes.
la source
En gros, vous dupliquer les
master
,release
et lesdevelop
branches pour chaque version majeure , vous êtes maintenant. La façon dont ils interagissent les uns avec les autres reste la même. Pour lesfeature
branches, il suffit de branche de la branche la plus ancienne vous avez l' intention de fusionner en arrière dans , ce qui empêche en tirant dans les dépendances indésirables. Ensuite, lorsque vous fusionnez votrefeature
branche, vous effectuez simplement des fusions supplémentaires dans chaque branche de version principale plus récente appropriée.la source