2013-06-05 7 views
23

Nachdem ich git reset HEAD~1 ausgeführt hatte, bemerkte ich, dass eigentlich nichts anderes zu tun war und der Commit in Ordnung war. Gibt es eine Möglichkeit, diesen Befehl zurückzusetzen?Wie man einen unnötigen "git reset HEAD ~ 1" zurücksetzt

+0

Wo Sie auf einem Zweig, wenn Sie, oder ein distanzierter Kopf lief? –

+0

Ich war auf einem Zweig – cahen

+1

mögliche Duplikate von [Zurücksetzen git Reset?] (Http://stackoverflow.com/questions/2510276/undoing-git-reset) – 0xc0de

Antwort

58

können Sie verwenden:

git reset [email protected]{1} 

Dies nutzt den letzten Eintrag in der reflog. Siehe git reflog, wenn Sie zwischendurch andere Dinge getan haben.

+0

das hat perfekt funktioniert. Wenn ich 2 statt 1 verwende, würde es 2 Schritte zurückgehen, richtig? – cahen

+2

Genau. Sehen Sie sich 'git reflog' an, um zu sehen, welche Nummer welchem ​​Commit entspricht. Sehen Sie sich 'man gittrevisions' für diese spezielle Syntax an. – michas

+0

immer vergessen Reflog>< – theatlasroom

9

Sie konnten die Commit-ID dieses Commits mit git reflog sehen.

1

Noch einfacher (wenn Sie keine anderen Vorgänge getan haben):

git reset ORIG_HEAD 

ORIG_HEAD ist der vorherige Zustand von HEAD.

Weitere Details über HEAD vs ORIG_HEAD sind in der answer to this SO question.