Bonjour.
Le titre n’est certainement pas complètement clair, je vais donc détailler un peu.
Imaginons, je souhaite contribuer à un projet sur GitHub (ou autre). Donc:
- je forke le dépôt auquel je souhaite contribuer
- je crée une branche dev pour mes développements
- je crée une branche feature pour ma nouvelle fonctionnalité
- je code la nouvelle fonctionnalité
- je fais une pull-request
- la pull-request est acceptée
Ce que je souhaite faire, c’est merger la branche feature dans ma branche dev, parce que disons que j’ai besoin de cette fonctionnalité pour une autre fonctionnalité, ou bien que je n’ai pas le temps d’attendre que la pull-request soit acceptée.
Maintenant, la question que je me pose, c’est que se passe-t-il pour mon fork lorsque ma pull-request est acceptée ? La pull-request est intégrée à la branche principale du dépôt initial, et j’ai défini l’upstream de mon dépôt forké sur ce dépôt initial. Je vais donc récupérer des commits que j’ai déjà mergé dans ma branche dev !
Je ne sais pas si tout ceci est très clair, mais j’espère que vous comprenez la question que je soulève. Du coup: comment gère-t-on ce genre de situation ?
Je profite de ce sujet pour poser une autre question. Imaginons que mon développement sur ma branche feature prenne du temps. Pendant ce temps, de nouveaux commits apparaissent sur l’upstream. Très bien, je peux facilement les récupérer sur ma branche master, sur ma branche dev (dois-je les récupérer sur ces deux branches ?). Mais comment puis-les récupérer sur ma branche feature ? De la même façon, lorsque je mergerai ma branche feature dans ma branche dev, ces commits seront présents deux fois ! Comment gère-t-on cette autre situation ?
Etonnamment, après une rapide recherche à l’aide de mon moteur de recherche favori, je n’ai pas vraiment trouvé de réponse à ces questions…
Merci d’éclairer ma lanterne !