使用Mercurial克隆存储库时,您可以传递-U / --noupdate标志以创建没有工作副本的克隆。如果我在克隆时忘记传递此标志,是否可以删除工作副本?如果可以,如何操作?
这在概念上类似于此git问题,但适用于Mercurial。
使用Mercurial克隆存储库时,您可以传递-U / --noupdate标志以创建没有工作副本的克隆。如果我在克隆时忘记传递此标志,是否可以删除工作副本?如果可以,如何操作?
这在概念上类似于此git问题,但适用于Mercurial。
Mercurial维基上的文档对裸库(bare repositories)有如下说明:
"虽然这只是一个小问题,但Mercurial显然可以处理裸库,也就是没有工作副本的库。在Git中,你需要配置选项才能实现这一点;而在Hg中,你只需要检出空版本(null revision),像这样:"
hg update null
空值版本类似于在执行
hg init
后的空状态。它是版本0的父级(以及所有非合并版本的第二个父级),通过更新到它,您可以再次获得一个空的工作副本。链接可能看起来有些讽刺:
rm -rf *
这将删除所有“可见”文件(在*nix下)。由于Mercurial存储库存储在“隐藏”的文件.hg
中,因此不会被触及。不幸的是,您自己的任何隐藏文件,例如.hgignore
也不会被触及。
要恢复工作副本,我确定有一个有效的hg update
标志,但这也可以:
hg revert --all