Mercurial 是否有办法删除所有本地变更集以节省空间?

Mercurial 是否有办法删除所有本地变更集以节省空间?,mercurial,Mercurial,换句话说,有没有办法将hg存储库恢复到您第一次对外部存储库执行hg克隆时以及拉取之前的状态 当FTPing服务器VM和hg存储库存在于其他地方时,我试图节省空间,因此没有理由转移它们。我想以这样的方式设置服务器,在另一端需要做的就是hg pull、hg update,然后它就可以再次运行了 不,不是在一个mercurial命令中。一旦您运行了hg pull,mercurial就不会记录该拉动之前的状态 但是,如果在克隆时保留更改集的记录(例如,只需将其写入未跟踪的文件),则可以非常有效地删除所有

换句话说,有没有办法将hg存储库恢复到您第一次对外部存储库执行hg克隆时以及拉取之前的状态


当FTPing服务器VM和hg存储库存在于其他地方时,我试图节省空间,因此没有理由转移它们。我想以这样的方式设置服务器,在另一端需要做的就是hg pull、hg update,然后它就可以再次运行了

不,不是在一个mercurial命令中。一旦您运行了hg pull,mercurial就不会记录该拉动之前的状态


但是,如果在克隆时保留更改集的记录(例如,只需将其写入未跟踪的文件),则可以非常有效地删除所有不需要的更改集。请参阅。

如果自上次拉取以来您没有提交或运行任何其他更改存储库内部状态的命令,则可以运行。

听起来您希望将克隆剥离到最低限度,并仍然从原始存储库恢复。为什么不完全删除本地副本,只保留克隆路径列表,以便重新获取它们

否则(假设您已经推送了想要保留的任何内容),使用MercurialQueues扩展中的
strip
命令,您可以使用
hg strip 0--无备份
删除克隆的所有本地历史,并使用
hg pull
将其全部恢复