【发布时间】:2011-05-08 16:58:30
【问题描述】:
使用 mercurial 克隆存储库时,您可以传递 -U/--noupdate 标志来创建没有工作副本的克隆。如果我在克隆时忘记传递此标志,我可以删除工作副本吗?如果有,怎么做?
这在概念上类似于 this git question,但用于 mercurial。
【问题讨论】:
标签: mercurial repository clone working-copy bare
使用 mercurial 克隆存储库时,您可以传递 -U/--noupdate 标志来创建没有工作副本的克隆。如果我在克隆时忘记传递此标志,我可以删除工作副本吗?如果有,怎么做?
这在概念上类似于 this git question,但用于 mercurial。
【问题讨论】:
标签: mercurial repository clone working-copy bare
Mercurial wiki 上的文档对裸存储库进行了以下说明:
"虽然这是一个小问题,但 Mercurial 显然可以处理 裸仓库;也就是说,没有工作副本的存储库。在 Git 中 你需要一个配置选项,而在 Hg 你只需要 检查空修订,如下所示:"
hg update null
null 版本类似于您刚刚完成hg init 时的空状态。它是修订版 0 的父版本(以及所有非合并修订版的第二个父版本),通过更新回它,您将再次获得一个空的工作副本。
链接可能看起来很讽刺:
【讨论】:
hg purge 可能有助于摆脱它们。
Repository > Update 并将 null 指定为 Update to: 来完成此操作
rm -rf *
这将删除所有“可见”文件(在 *nix 下)。由于 Mercurial 存储库存储在“隐藏”文件.hg 中,因此不会被触及。不幸的是,您自己的任何隐藏文件也不会,例如.hgignore。
要恢复工作副本,我确信有一个 hg update 标志可以工作,但这也可以:
hg revert --all
【讨论】: