2010-07-14 4 views
11

J'ai commis et poussé quelques mauvaises choses. Comment est-ce que je force forcer mon repo local à HEAD ~ 7, et re-commettre de sorte que HEAD soit maintenant à cette version? Git docs me confondre.Force Git revenir à la tête ~ 7

Merci!

Répondre

22

La meilleure approche consiste à pousser un autre commit qui rétablit les validations involontaires. Voir Jakub Narębski's answer sur la façon de le faire.

Si pour une raison quelconque, il vaut le unfriendliness potentiel de pousser une mise à jour qui n'est pas une avance rapide (bits sensibles dans les commits, par exemple), donner à ces commandes:

git reset --hard HEAD~7 
git push --force origin master

Les premiers Rembobine de votre branche actuelle. C'est un outil pointu, alors faites attention.

Pour vous éviter de perdre accidentellement du travail, git ne poussera pas votre branche rebondie. L'option --force désactive cette fonction de sécurité.

6

git reset --hard HEAD~7 abandonnera entièrement vos modifications.

git reset HEAD~7 abandonnera les validations, mais laissera des modifications dans la copie de travail, afin que vous puissiez les éditer et les remettre en vigueur.

Questions connexes