web-dev-qa-db-fra.com

Une stratégie fusionne-t-elle comme Git Flow vraiment un anti-motif?

Ma société utilise GIT et utilise un schéma de ramification particulière - le travail est effectué en maître et les succursales sont réservées aux versions. Cela fonctionne bien, tant que tout le travail effectué dans une itération le rend dans la branche, mais si une question de production critique se présente, nous devons nous assurer que le travail en fait en quelque sorte dans les deux branches.

Dernièrement, nous avons eu des "amusants" avec ces branches. Cela a été un mal de tête administratif, en veillant à ce que tout le travail le rend dans chaque branche et que certains bugs qui ont été fixés sur une branche ne se présentent pas en maître avant que quelqu'un ne le pointe, ce qui concerne.

Je suis tombé sur Git Flow un moment de retour, et je pense que ce serait une solution à notre problème - le code ne percolait pas tout le chemin à la libération, ou tout le chemin de retour. La seule capture est que mon responsable a déclaré que ce type de développement était un anti-motif - se développant furieusement pendant deux semaines, puis dépenser trois pour résoudre les conflits de fusion.

Je ne suis pas totalement sûr que je suis d'accord et que je l'ai soulevé, le travail a repris comme normal. A seulement récemment, nous avons eu des points de douleur majeurs avec cela.

J'aimerais savoir - pourquoi ce type de programme de développement serait-il considéré comme un anti-motif? est c'est vraiment un anti-motif?

30
Makoto

Il se réfère principalement au côté des branches de fonctionnalité du modèle. Les branches de fonctionnalités ont été déclarées une anti-motif il y a longtemps lorsque les branches ont duré des mois et des systèmes de contrôle de la version ne pouvaient pas fusionner leur vie. Les branches de fonctionnalités qui durent une semaine ou deux ont beaucoup moins de problèmes, surtout si vous fusionnez continuellement à partir dedevelop dans la branche de fonctionnalité pendant cette période. Quelque chose de beaucoup plus long que cela n'est toujours pas recommandé.

Même si vous n'utilisez pas le côté de la branche de fonctionnalité du flux Git, les autres pièces sont utiles pour vous assurer que vous obtenez des fonts propres et vos modifications sont propagées dans la bonne direction.

30
Karl Bielefeldt

La fusion est une chose amusante - le moins souvent, cela fait plus fort que ce sera le plus difficile, plus il est plus difficile, plus ils auront peur, moins ils le feront souvent.

La solution ne permet pas de ne pas permettre aux branches de s'écouler trop, ou de ne pas utiliser de branches.

Si les gens comprennent cela, vous n'avez probablement pas beaucoup de problèmes de fusion, sinon peut être des succursales ne sont pas une bonne idée sans une certaine éducation.

21
maxim1000