上班的工作。当我不在回购的尖端时回滚了。丢失的文件。寻找相当于保存我的工作的git reflog。
长: 所以我完成工作,然后提交。
$ hg commit -A
[...]
adding media/js/fbfriends.js
removing media/js/streams.js
adding media/js/templetizer.js
[...]
$ hg log
$ hg log
changeset: 10:ce3ad416d9a5
tag: tip
user: Mihai
date: Sat Sep 10 22:34:35 2011 -0700
summary: Save all.
changeset: 9:ceacb7b2192a
user: Mihai
date: Sat Sep 10 22:25:34 2011 -0700
summary: Mootools update.
[...]
一些浏览:
$ hg checkout 8
好的。然后我想改变修订版10.愚蠢的是,我这样做:
$ hg rollback
rolling back to revision 9 (undo commit)
$ hg status
[...]
M media/js/mootools.js
R media/js/streams.js
! media/js/fbfriends.js
! media/js/templetizer.js
[...]
WTF?我的两个文件在哪里?
$ hg log
changeset: 9:ceacb7b2192a
tag: tip
user: Mihai
date: Sat Sep 10 22:25:34 2011 -0700
summary: Mootools update.
[...]
好的,我会找出.orig文件:
$ hg revert --all
[...]
undeleting media/js/streams.js
forgetting media/js/templetizer.js
reverting media/js/mootools.js
[...] // media/js/fbfriends.js doesn't even show up
$ hg status
? media/js/mootools.js.orig
$ hg history
changeset: 9:ceacb7b2192a
tag: tip
user: Mihai
date: Sat Sep 10 22:25:34 2011 -0700
summary: Mootools update.
NOOOOOO!当我做回滚的时候,我已经因为提交8而被皇室所震撼。 恢复尝试失败:
$ hg checkout 10
8 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ find -name temp
$ hg checkout 9
30 files updated, 0 files merged, 63 files removed, 0 files unresolved
$ find -name temp
$ hg checkout ce3ad416d9a5
abort: unknown revision 'ce3ad416d9a5'!
$ hg checkout ceacb7b2192a
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ find -name temp
$
但是,但是......我把它推进去了!它应该仍然在.hg的某个地方?帮帮我?
git reflog
, git checkout blah
在几个例子中救了我,但是有没有任何多变的等价物?
编辑:总结清楚。 EDIT2:更好的头衔。