换句话说,有没有办法将 hg 存储库恢复到您第一次对外部存储库执行 hg 克隆时存在的状态,并且在您进行拉取之前?
我试图在通过 FTP 传输服务器 VM 时节省空间,并且 hg 存储库存在于其他地方,因此没有理由转移它们。我想以这样一种方式设置服务器,即所有必须在另一端完成的操作就是 hg pull、hg update 并且它已准备好再次运行。
换句话说,有没有办法将 hg 存储库恢复到您第一次对外部存储库执行 hg 克隆时存在的状态,并且在您进行拉取之前?
我试图在通过 FTP 传输服务器 VM 时节省空间,并且 hg 存储库存在于其他地方,因此没有理由转移它们。我想以这样一种方式设置服务器,即所有必须在另一端完成的操作就是 hg pull、hg update 并且它已准备好再次运行。
听起来您想将克隆剥离到最低限度,并且仍然从原始存储库中恢复。为什么不完全删除本地副本并保留克隆路径列表以再次获取它们?
否则(假设您已经推送了任何您想要保留的内容)使用strip
MercurialQueues 扩展中的命令,您可以hg strip 0 --no-backup
使用hg pull
.
不,不是在一个单一的善变命令中。一旦你运行了hg pull
,mercurial 就不会记录拉动之前的状态。
但是,如果您在克隆时记录下变更集是什么(例如,只是将其写入某个未跟踪的文件),您可以非常有效地删除所有您不想要的变更集。请参阅Mercurial:删除变更集
如果自上次拉取后您尚未提交或运行任何其他更改存储库内部状态的命令,则可以运行hg rollback。