Actuellement, je suis sur un projet et les développeurs ne parviennent pas à se mettre d'accord sur l'utilisation de Rebase ou de Merge. Êtes-vous capable de mélanger le vers Gitflow/Workflow sans que cela pose problème ? Est-ce le cas, pourquoi est-ce le cas?

Je comprends que cela peut être problématique lorsque je collabore et que je travaille sur une Feature Branch. Mais cette question s'adresse à la Branche Maître.

0
Suz 4 sept. 2020 à 19:48

1 réponse

Meilleure réponse

Si vous utilisez Git Flow, vous devrez certainement effectuer au moins quelques fusions, car le workflow implique la fusion de différentes branches de longue durée. Essayer de rebaser une branche de longue date sur une autre est une recette pour la difficulté et la tristesse ; cela est également vrai pour effectuer des fusions de squash. Le seul moyen raisonnable d'incorporer deux branches de longue durée est un commit de fusion.

Si vous utilisez un workflow plus traditionnel, tel que celui utilisé par Git ou couramment utilisé sur GitHub, où vous incorporez du code dans une seule branche principale, alors cela importe moins. Il est préférable de choisir une stratégie cohérente et de s'y tenir, mais vous n'êtes pas strictement obligé de le faire. Il est possible à la fois de fusionner et de rebaser dans la même branche principale. Faire celui que vous voulez ne fournit pas l'historique linéaire que veulent les partisans du rebasage ou l'aperçu des points de fourche que veulent les partisans de la fusion, donc cela peut rendre tout le monde mécontent. Bien que cela puisse être une approche valable dans certains cas, cela peut entraîner des conflits indésirables au sein de votre équipe.

Je dirai que lorsque j'ai besoin de prendre une décision technique liée au contrôle de version et que cela implique une décision de départage, je fais ce que fait Git. Git est raisonnablement réussi en tant que projet, et il utilise un workflow basé sur la fusion de branches de fonctionnalités. Vous pouvez choisir d'autres stratégies de départage, telles que ce que fait votre environnement d'exécution de langue préféré.

1
bk2204 4 sept. 2020 à 22:00