gpt4 book ai didi

mercurial - 在 Mercurial 中提交和回滚后恢复丢失的文件。 (相当于 git reflog?)

转载 作者:行者123 更新时间:2023-12-04 02:08:20 26 4
gpt4 key购买 nike

委身的工作。当我不在 repo 的尖端时进行了回滚。丢失的文件。寻找相当于保存我的工作的 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
[...]

跆拳道?我的两个文件去哪儿了???
$ 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.

不!当我进行回滚时,我因为提交 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在几个实例中救了我,但有没有任何 Mercurial 等价物?

编辑:总结清楚。
EDIT2:更好的标题。

最佳答案

对不起,他们走了。
rollback 的帮助摘要命令是:

roll back the last transaction (dangerous)

并继续说:
This command should be used with care. There is only one level of
rollback, and there is no way to undo a rollback. It will also restore the
dirstate at the time of the last transaction, losing any dirstate changes
since that time. This command does not alter the working directory.

回滚是唯一一个删除历史记录的非扩展 mercurial 命令,并且有人谈论将它移动到默认禁用的扩展中,就像它具有类似的破坏性一样 strippurge .

并不是说它现在对您有帮助,而是在将来进行回滚之前克隆。或者最好做一个 backout反而。 Backout 添加了更改的逆,产生相同的最终修订,但具有更准确的历史记录(“我做了这个”,“我取消了它”)。

关于mercurial - 在 Mercurial 中提交和回滚后恢复丢失的文件。 (相当于 git reflog?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com