4 votes

Dois-je rebaser avec la branche dev avant de faire une demande de pull ?

Notre flux de travail actuel :

créer une branche de fonctionnalité à partir de dev. après avoir développé la fonctionnalité et poussé la branche faites ce qui suit :

git checkout dev

git pull --rebase (sur le dév.)

git checkout my-feature-branch

git rebase dev

résoudre les conflits et ensuite faire un git push -f ou git push (première fois).

Ma question vient d'un des membres de notre équipe de développement :

Devons-nous faire tout le processus tel quel, ou pouvons-nous simplement faire la demande d'extraction directement, en particulier si la réponse est toujours "Je travaille sur un composant qui n'est partagé par aucun autre développeur" ?

Merci d'avance

5voto

sergej Points 1749

Disons que, pendant que vous travaillez sur votre feature-branch les nouveaux éléments sont intégrés dans le dev branche. L'historique pourrait donc ressembler à ceci :

1 - 2 - 3 - 5 (dev)
    \
     4 - 6 - 7 - 8 (feature-branch)

Si vous créez simplement une demande d'extraction et que l'option dev Si le responsable de la branche devait la fusionner, il devrait gérer les conflits potentiels, ce qui est mauvais pour le système de gestion de l'information. dev mainteneur de la branche.

Si vous rebasez le feature-branch de se brancher sur dev et résoudre les conflits potentiels avant de soumettre la demande d'attraction,

1 - 2 - 3 - 5 (dev)
             \
              4 - 6 - 7 - 8 (feature-branch)

il ne s'agira que d'une fusion rapide et facile pour la dev mainteneur de la branche.

Ce flux de travail oblige les développeurs à résoudre les conflits localement et facilite la vie de l'intégrateur.

1voto

Tim Biegeleisen Points 53335

Votre flux de travail est juste le flux de travail typique de rebasement que je m'attendrais à voir utilisé pour garder une branche de fonctionnalité directement en avance sur son ancêtre, qui dans ce cas est le fichier dev branche. Si vous voulez laisser ouverte la possibilité de la my-feature-branch l'avance rapide de la dev pendant la demande de pull, alors oui, vous devez faire toutes ces étapes. Notez que le force push peut être nécessaire parce que le rebasement sur la branche dev peut réécrire l'histoire de la branche de la fonctionnalité.

Quant à savoir si vous devez utiliser un flux de travail de rebasement plutôt qu'un flux de fusion ou autre, c'est subjectif et cela dépend de beaucoup de choses. Mais si le rebasement est le plus judicieux, alors je suis d'accord avec vos étapes actuelles et je ne vois pas de moyen de les simplifier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X