Annuler la dernière validation / fusion
J'ai foiré mon repo git un peu. J'ai travaillé sur une fonction dans une branche séparée. Une fois le travail terminé, j'ai changé pour le maître de le fusionner dans, mais mon partenaire a poussé un certain nombre de fichiers qui sont entrés en conflit avec la mienne. Après la fusion, le conflit et en poussant les nouveaux changements, j'ai vu que j'ai commis le plus âgé des changements de mon partenaire.
Maintenant j'ai envie de refaire ce commit de fusion. J'ai essayé
git reset --soft HEAD^
mais quand j'ai envie de pousser, j'ai ce message d'erreur Merge the remote changes before pushing again
.
Quelqu'un peut m'aider?
source d'informationauteur Siggy Petersen
Vous devez vous connecter pour publier un commentaire.
Votre branche sera toujours à votre travail. Vous ne perdrez pas ces changements.
Comme plaes dit, vous pouvez réinitialiser le maître de retour avec un
Si vous voulez récupérer des fichiers spécifiques de votre branche sans fusion, vous pouvez les consulter:
Si vous voulez des fichiers à partir de maître datant d'avant la fusion, vous pouvez également vérifier ces:
Ce n'est pas l'idéal, mais c'est ce qui est nécessaire parfois. Une fusion /peut/veux dire que vous rejetez certains changements de chaque côté dans un processus de fusion. La meilleure façon d'obtenir un bon de fusion est de:
de master, puis exécutez la commande git checkout commandes à partir de ci-dessus et enfin s'engager:
Lorsque vous appuyez sur cette branche maintenant, vous devez ajouter le
force
optionou
Espère que cette aide.
Le problème ici est que vous voulez annuler les modifications que vous avez déjà poussé vers le dépôt central. Si tu n'avais pas poussé en premier lieu, un git reset --hard/--soft/--mixtes la TÊTE^ aurait fait le tour.
Ainsi, lorsque vous avez réinitialisé votre TÊTE git se plaint quand vous essayez de pousser à l'origine et à la mise à jour de la télécommande ref qui n'est pas un ancêtre de votre TÊTE. Utilisation de --force:
Hehe, tu as presque tout compris: