有没有办法删除所有本地更改集以节省空间?

时间:2012-07-09 18:07:02

标签: mercurial

换句话说,有没有办法将hg存储库恢复到第一次对外部存储库执行hg克隆时存在的状态,然后再进行拉动?

我试图在FTP服务器VM时节省空间,并且hg存储库存在于其他位置,因此没有理由转移它们。我想以这样一种方式设置服务器,即在另一端必须完成的所有操作都是hg pull,hg update,它已准备好再次运行。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

不,不是一个mercurial命令。一旦你运行hg pull,mercurial就不会记录该状态之前的状态。

但是,如果你记录克隆时变更集的内容(例如只是将其写入一些未跟踪的文件),你就可以非常有效地去掉你不想要的所有变更集。见Mercurial: removing changesets

答案 2 :(得分:0)

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