2011-05-16 5 views
3

Sur un site Web, une branche de fonctionnalité doit être fusionnée dans le maître après deux semaines de développement par les développeurs frontaux et principaux. Le problème est que les développeurs dorsaux sont incapables de résoudre les conflits de CSS et de modèles, et les développeurs frontaux ne peuvent pas résoudre les conflits dorsaux. Comment allez-vous résoudre cela?Fusion de branches de fonctionnalité avec plusieurs auteurs

Quelques idées que j'avais:

  • Un des développeurs résoudre « leurs » conflits localement et la main sur les correctifs à l'autre développeur, qui va faire la vraie fusion
  • fusions partielles en quelque sorte, la scission fusion dans plusieurs commits
  • Utilisez une autre stratégie flux de travail/branchement VCS
+1

Obtenir un dev dorsal et un dev de front-end dans la même pièce (RL ou chat), et les faire travailler à travers la fusion ensemble? – Amber

+0

Je viens d'ajouter l'option de stratégie de fusion "theirs", dans le cas d'une fusion fractionnée. Voir ma réponse mise à jour. – VonC

Répondre

0

Les gens front-end ne devraient pas obtenir les conflits dorsaux et vice versa. S'ils le font, cela signifie que les gens de l'avant changent les choses en arrière-plan ou l'inverse. Et s'ils rencontrent ces conflits, ils devraient aussi être capables de les résoudre :)

Pensez-y. Pourquoi devrais-je, en tant que dev de front, obtenir des conlits sur mon back-end, si je n'ai rien changé moi-même?

+0

Nous travaillons sur une branche de fonctionnalité distante commune avec une fonctionnalité qui implique des changements de code frontaux et principaux. –

+0

@Jacob: Peu importe s'il s'agit d'une branche distante commune ou non. Si je n'ai rien changé alors je ne devrais pas avoir de conflits. Période. Juste le voir comme une traction pour synchroniser votre repo. S'il n'y a pas de changements, le tirage se déroulera sans conflit. Il en va de même pour les changements de code que je n'ai pas touchés. – ralphtheninja

+0

Je suis désolé si je n'étais pas clair, c'est la fusion du maître dans la branche de fonctionnalité pour préparer l'intégration dans le maître. Nous avons un développement sur plusieurs pistes, donc les fichiers auront été changés en master au moment où nous avons développé cette nouvelle fonctionnalité. –

2

Une solution consisterait à diviser (rebase --interactive) l'ensemble des validations en validations avec uniquement des fichiers dorsaux ou frontaux, afin que chaque ensemble de développeurs fusionne uniquement ce dont ils ont besoin.

Cela supposerait qu'il n'y a pas de dépendances fonctionnelles entre les deux ensembles de codes.

Nous travaillons sur une branche de fonction à distance conjointement avec une fonction qui implique à la fois le code frontal et back-end change

Si back-end est en mesure de contribuer sans avoir à se soucier avant -end les changements, alors la fusion, après split, est possible.
Sinon, il y aurait toujours des conflits potentiels lors de la fusion dans une base de code back-end de l'ensemble de code concernant front-end. Mais pour que la fusion, vous pouvez utiliser one of the "theirs" strategy lors de la fusion.
Cela permettrait aux développeurs back-end de récupérer (et remplacer) tout le code frontal dans leur repo.

Questions connexes