2010-10-26 137 views
8

我犯了一个错误,并删除了一个文件。我想回到我以前的提交! 我试图与恢复和退出与没有运气...如何回滚到提交并推送版本的mercurial?

任何提示?

编辑:我做正是这一点:

 
hg forget file 
hg commit -m "Blah" 
hg push 

这最后推的版本号是17。

现在文件不再被跟踪。我想回到修订版本15(不是先前的内部版本,但是有一个额外的退步),因为我不想继续在文件的第16版上工作。

回答

10

实测值的溶液:

 
hg revert file -r15 //(reverts file to revision 15). 
+0

这应该做的:)。我刚刚看到您的编辑问题 – pyfunc 2010-10-26 04:06:25

+0

您是否尝试过hg更新文件-r15? – pyfunc 2010-10-26 04:07:10

+0

是的,得到了​​这个: abort:请只指定一个修订版 – 2010-10-26 04:13:45

0

如果您已经承诺那么您可以更新到以前的版本。如果该文件受版本控制,则不会消失。那是什么版本控制。

hg update -r "what is previous rev" 

如果您已删除文件,并没有承诺,后来干脆做了更新,它会恢复的文件。

hg update 

[编辑:基于编辑的问题]

hg revert file -r 15 
hg update file -r 15 
+0

修改已被提交并在文件中用“R”推送,导致缺少跟踪。但我不想推回位于硬盘中的实际文件,因为我不想将其推入服务器。所以,我必须回到以前的完整版本。我不知道我是否足够清楚。谢谢你的帮助。 – 2010-10-26 03:04:06

+0

@Gabriel A. Zorrilla:给我们更详细的问题。目前尚不十分清楚。即使文件标记为'R',以前的版本应该有它,你应该能够恢复到它。 – pyfunc 2010-10-26 03:19:50

+0

已编辑原创帖子。看一看。 – 2010-10-26 03:29:19

0

尝试拉版本15和hg pull -r,然后添加该文件。

相关问题