Git, Comment réinitialiser l’origine / maître à un commit?

Je réinitialise mon maître local à un commit par cette commande:

git reset --hard e3f1e37 

quand j’entre la commande $ git status , le terminal dit:

 # On branch master # Your branch is behind 'origin/master' by 7 commits, and can be fast-forwarded. # (use "git pull" to update your local branch) # nothing to commit, working directory clean 

Étant donné que je veux également réinitialiser l’origine / l’en-tête, je passe à l’origine / au maître:

 $ git checkout origin/master Note: checking out 'origin/master'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any twigs by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 2aef1de... master problem fixed for master. its okay now. 

et réinitialiser l’en-tête par cette commande:

 $ git reset --hard e3f1e37 HEAD is now at e3f1e37 development version code incremented for new build. 

Ensuite, j’ai essayé d’append à l’origine / en-tête que je n’ai pas réussi.

 $ git commit -m "Reverting to the state of the project at e3f1e37" # HEAD detached from origin/master nothing to commit, working directory clean 

Enfin, je commande à mon maître local.

 $ git checkout master Switched to branch 'master' Your branch is behind 'origin/master' by 7 commits, and can be fast-forwarded. (use "git pull" to update your local branch) 

Depuis, je réinitialise le chef d’origine / maître, je m’attends à ce que local et l’origine devrait être dans la même direction mais comme vous le voyez, git dit que mon local / maître est à l’origine / maître de 7 commits.

Comment puis-je résoudre ce problème? Les choses que je cherche sont le chef du local / maître et le point d’origine / maître du même engagement. L’image suivante montre ce que j’ai fait. Merci.

entrer la description de l'image ici

origin/xxx twigs origin/xxx sont toujours des pointeurs vers une télécommande. Vous ne pouvez pas les vérifier car ils ne sont pas des pointeurs vers votre référentiel local (vous enregistrez uniquement la validation. C’est pourquoi vous ne verrez pas le nom écrit dans le marqueur de twig de l’interface de ligne de commande, uniquement le hachage de validation).

Ce que vous devez faire pour mettre à jour la télécommande est de forcer vos modifications locales à maîsortingser:

 git checkout master git reset --hard e3f1e37 git push --force origin master # Then to prove it (it won't print any diff) git diff master..origin/master 

La solution trouvée ici nous a permis de mettre à jour master vers un commit précédent qui avait déjà été poussé:

 git checkout master git reset --hard e3f1e37 git push --force origin e3f1e37:master 

La principale différence avec la réponse acceptée est le hachage de validation “e3f1e37:” avant le maître dans la commande push.