2016-05-24 5 views
145

versehentlich, ich habe git add . und git commit in der develop Zweig. Aber glücklicherweise habe ich git push nicht getan.Wie rückgängig machen der letzte Commit in Git

Also wollte ich es in den ursprünglichen Zustand zurückversetzen.

Ich versuchte git reset --soft und git reset HEAD --hard aber sieht aus wie ich es vermasselt habe.

Wie behebe ich das? Ich möchte in den ursprünglichen Zustand zurückkehren und möglicherweise den Code ändern.

Antwort

374

Ich glaube, Sie haben noch nicht vermasselt zurückgesetzt zu begehen. Versuchen:

git reset HEAD^ 

Dies wird die dir bringen zu erklären, bevor Sie den Commit gemacht haben, bedeutet HEAD^ die Eltern des aktuellen begehen (die Sie will nicht mehr), während Änderungen von ihm zu halten (unstaged).

+45

plus eins für die ** noch ** –

+5

Dies könnte ein Duplikat sein, aber dies ist die übermäßig einfache Antwort, die ich 90% der Zeit will. Danke – geneorama

+0

Sie, Herr/Frau, sind ein Retter! – Amal

72

Versuchen Sie einfach letzte

git reset --soft HEAD~1 
+1

'fatal: mehrdeutiges Argument 'HEAD ~ 1': unbekannte Revision oder Pfad nicht im Arbeitsbaum. Verwenden Sie "-", um Pfade von Revisionen zu trennen – Green

+0

Versuchen Sie es mit git bash. Wenn Sie Windows verwenden, wird die Konsole aus irgendeinem Grund nicht funktionieren, nicht sicher warum. Git bash tut tho. – Fred

+0

@Green Windows mag nicht 'HEAD ~ 1', wende es in Anführungszeichen wie' git reset --soft "HEAD ~ 1" ' – user568458

Verwandte Themen