Je suis en train de trouver le bon workflow de cette situation:Flux de travail Git correct pour la branche de fonctionnalité partagée?
Sur la prise en pension partagée, nous avons ces branches:
-master
-feature
La fonction branche est un partagé branche, puisque beaucoup les développeurs travaillent ensemble sur une nouvelle fonctionnalité. Ils poussent activement leurs modifications à la branche de fonctionnalité.
J'essaie d'éviter « l'enfer des conflits » pour le jour où fonction obtient finalement fusionné de nouveau dans maître. À l'heure actuelle, je vois quelques options:
1) fusionner activement maître en fonction , et de le faire souvent. Cependant, ceci n'est pas recommandé dans les docs git, et je commence à voir pourquoi. Quand j'essaye cela, je répète les mêmes conflits encore et encore.
2) Utilisez la fonction de rebase d'une manière ou d'une autre. J'ai lu à ce sujet, mais il semble que cela ne fonctionnera pas puisque la branche fonctionnalité est réellement partagée. Tout ce qu'il faut, c'est un développeur pour faire 2 rebases, et d'autres développeurs pourraient avoir des conflits de l'histoire mésappariée.
3) Tournez la fonction branchedans une branche d'intégration, et ont les développeurs utilisent leurs propres branches fonctionnelles indépendantes avec rebasage de garder les choses sain d'esprit.
4) Quelque chose de complètement différent?
Je pense que c'est une bonne règle que le développement devrait normalement se produire sur les branches par développeur et les branches partagées devraient normalement être pour l'intégration seulement. –
Je ne connais pas très bien le rebasing, je vais donc poser cette question: Dans ce scénario, les utilisateurs fusionneraient-ils leurs branches privées en une seule fois (et créeraient une nouvelle branche privée s'ils devaient faire plus de travail), ou est-il sûr pour eux de fusionner plusieurs fois avec le rebasage qu'ils font? – Ben
@Ben l'idée de rebaser localement est justement de permettre plusieurs fusions: puisque vous ne publiez jamais votre branche 'private', vous pouvez la rebaser avant de fusionner votre travail en' feature' et en le poussant. Cela étant dit, si un effort de développement donné est terminé sur une branche 'private' donnée, il vaut mieux en faire une nouvelle plutôt que d'essayer de réutiliser la branche existante. L'histoire locale serait plus claire. – VonC