Je cherche un moyen simple de résoudre mon conflit git actuel.

Voilà comment ça s'est passé :

  1. commits locaux (5) créés sur ma branche de développement (sans les pousser)
  2. branche de fonctionnalité créée à partir de ma branche de développement locale
  3. le développement de la branche de fonctionnalité est terminé, les commits ont été poussés
  4. Demande PULL de la branche de fonctionnalité pour développer la fusion
  5. Maintenant, j'ai vérifié ma branche de développement locale et quand j'ai essayé de synchroniser, j'ai vu qu'il y avait déjà des commits entrants et sortants aussi, maintenant je me suis rendu compte que j'avais oublié de les pousser plus tôt et j'ai deviné que j'avais un problème...
  6. (essayé de synchroniser mais sans surprise, il y a beaucoup de conflits)

J'espère que c'est compréhensible et que quelqu'un pourra m'aider, s'il vous plaît. Merci!

1
Mitulát báti 13 oct. 2020 à 15:32

1 réponse

Meilleure réponse

Si vous n'avez effectué aucun nouveau commit sur votre branche develop locale depuis que vous avez créé la branche feature (branche feature qui a été poussée, puis fusionnée avec la origin/develop distante branche), vous pouvez simplement :

  • récupérer de origin
  • réinitialiser votre branche develop actuelle à origin/develop

(Je conserverais, pour le scénario ci-dessus ou celui ci-dessous, votre référentiel local dans un dossier en double, juste au cas où quelque chose ne va pas)


Cela fonctionnerait puisque origin/develop inclut votre travail local develop+feature, fusionné via la pull request à origin/develop.

Si vous aviez fait des commits sur develop depuis la création de la fonctionnalité, vous pouvez rebaser ces nouveaux commits sur origin/develop

git fetch origin
git branch tmp origin/develop
git rebase --onto tmp $(git merge-base feature develop) develop
git branch -f develop tmp
git switch develop
1
VonC 13 oct. 2020 à 12:57