web-dev-qa-db-fra.com

Est-il possible d’annuler les effets de "git revert head"?

J'ai accidentellement lancé la commande contre la mauvaise branche dans mon référentiel. Existe-t-il un moyen d'annuler ce changement?

67
blueberryfields

git revert crée simplement un nouveau commit - vous pouvez le "supprimer" avec git reset --hard HEAD^ (soyez cependant plus prudent!)

95
Roman Cheplyaka

La commande git revert crée simplement un commit qui en annule un autre. Vous devriez être capable d'exécuter git revert HEAD à nouveau et cela annulera votre annulation précédente et ajoutera un autre commit pour cela. Ou vous pourriez faire git reset --hard HEAD~. Mais soyez prudent avec ce dernier car il efface les données.

HEAD~ signifie le commit avant leHEADactuel

27
jonescb

Que diriez-vous de revenir en arrière?

Affichez le journal git et obtenez la balise de hachage du mauvais retour:

git log -5

Puis inversez le revenir lui-même:

git revert

3
Lasma

Si vous étiez suffisamment prescient pour avoir fait ceci: revert --no-commit master, vous pouvez abandonner cela avec: git revert --abort conformément au conseil git status:

$ git status
On branch master
Your branch is up-to-date with 'Origin/master'.
You are currently reverting commit dcc7c46.
  (all conflicts fixed: run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)
0
ericP