53 votes

Git rétablit le commit local

J'ai un repo Git connecté dans phpstorm sur Windows. J'ai engagé quelques jeux de modifications, puis les ai poussés vers notre "dépôt central". Après cela, j'ai ensuite fait quelques autres commits. Je ne veux plus de ces commits qui n'ont pas été poussés dans le dépôt central. Comment puis-je nettoyer ma copie de travail pour qu'elle soit identique à celle du dépôt central (origine)?

77voto

Steve Prentice Points 7638
git reset --hard remotes/origin/HEAD

53voto

Karl the Pagan Points 598
 git reset --hard remotes/origin/YOUR/BRANCH
 

mieux que /HEAD parce que vous ne verrez pas ceci:

 $ git status
On branch MY/BRANCH
Your branch and 'origin/MY/BRANCH' have diverged,
and have 1 and 1 different commit each, respectively.
 

21voto

sehe Points 123151

Si vous êtes sûr de cela et que vous n'avez aucune modification locale non validée :

 git reset --hard origin/master
 

origin/master est la branche sur laquelle vous avez poussé.

Le ref-log contiendra toujours les bits annulés jusqu'à ce qu'une collecte de mémoire les expire. Pour revenir en arrière,

 git reset --hard HEAD@{1}
 

14voto

uma Points 2011

vous pouvez annuler le commit local en

 git reset HEAD~N
 

où N est utilisé pour rétablir le nombre de commentaires.

si vous devez rétablir un seul commit du local, alors vous pouvez utiliser

 git reset HEAD~1
 

ou git réinitialiser HEAD ^

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X