首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mercurial中恢复和更新的区别

Mercurial中恢复和更新的区别
EN

Stack Overflow用户
提问于 2010-03-24 18:21:14
回答 1查看 10.2K关注 0票数 53

我刚刚开始使用Mercurial,我遇到了一些我不理解的事情。

我对几个文件进行了更改,现在我想撤消对其中一个文件所做的所有更改(即,返回到我对一个特定文件的上次提交)。

据我所知,我想要的命令是revert

在我链接的页面中,有以下语句:

但是,此操作不会更改工作目录的父修订版本(或未提交合并的情况下的修订版本)。要撤消未提交的合并,可以使用"hg update -C -r“。这会将父级重置为第一个父级。

我不明白这两者(hg reverthg update -C -r)之间的区别。有没有人能告诉我有什么不同?在我的例子中,我真的希望恢复或更新去掉我对文件所做的更改吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-24 19:18:07

第一个区别是revert可以在工作副本的一个子集上工作,而update在整个工作副本上工作。另一个区别是,当您想要返回到上次提交的版本以外的版本时,会发生什么情况。

如果我们有修订(大写是提交的,小写是工作副本中的更改,父修订是C)

代码语言:javascript
复制
A-B-C-d

update -C -r B将为您提供

代码语言:javascript
复制
A-B-C

将工作副本设置为B时,任何更改都将导致从B分支(父修订设置为B)

代码语言:javascript
复制
A-B-C
  \e

revert -r B将为您提供

代码语言:javascript
复制
A-B-C-b'

其中b‘是一组更改,它撤消中间提交的更改中的所有更改,在这种情况下,它撤消所有C。任何更改现在只是加入b’集(父修订在C处保持不变)

票数 65
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2506803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档