Je viens de valider quelques modifications dans l'une de mes branches de fonctionnalités ("feedback_tab") puis, j'ai vérifié "master" et les ai fusionnées là-dedans. Je voulais en fait les fusionner dans ma branche "développement".
Maintenant, master est en avance sur 'Origin/master' (sa télécommande) par 17 commits - je n'ai pas poussé la fusion (et je ne veux pas, évidemment). Comment puis-je rétablir le maître dans le même état qu'avant la fusion accidentelle? Je suis confus entre git revert
et git reset
avec ce genre de choses.
J'ai regardé dans mon journal git et il n'y a pas d'entrée pour fusionner feedback_tab dans master. J'aurais pensé que ce serait la première entrée?
Peu confus:/toute aide bienvenue! max
git reset --hard HEAD~17
vous ramène 17 commits devant le chef de master. git rebase -i HEAD~17
supprime probablement également les commits supplémentaires.
Pour annuler une fusion qui n'a PAS été poussée:
git reset --merge ORIG_HEAD
Si pendant la fusion vous obtenez un conflit, la meilleure façon d'annuler la fusion est:
git merge --abort
Tiré de git reset
Undo a merge or pull
$ git pull <1>
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard <2>
$ git pull . topic/branch <3>
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD <4>
Celui-ci fonctionnera sûrement!
git reset --hard HEAD~1
git init
Le premier annulera les modifications que vous avez apportées récemment (la fusion), le second lancera le dépôt au plus tard (par conséquent, avancera rapidement au plus tard sur Origin)
J'ai essayé
git reset --merge
mais ça n'a pas fait l'affaire.