根据Mercurial GitConcepts,git reset --hard
的等效值为hg revert -a --no-backup
。完成后,我希望git checkout <commit>
的{{1}}等效。
然而,即使在hg update -c <cset>
和abort: uncommitted changes in subrepository 'subrepo/subsubrepo'
中运行hg revert -a --no-backup
,它也会失败并显示错误subrepo/subsubrepo
。
答案 0 :(得分:3)
据我所知,问题在于Mercurial tracks the subrepo commit associated with each main repo commit。因此,确保subrepo和主要回购都“干净”是不够的。您还必须确保将subrepo更新为与主repo的提交相对应的提交。
在我看来,<%= f.email_field :email, id: "email" %>
在大多数情况下比它的价值更麻烦(当你想要取消合并时,它也表现得很奇怪)。如果您只是想让存储库看起来像工作目录的父目录,那么执行hg revert
通常会更加万无一失(注意资本hg up -C .
,并记住这不会留下备份);您可以将-C
替换为其他提交,以便在一个步骤中更新到该提交。由于更新是递归的,因此这应该在subrepo上正常工作。但是,它将使用一个命令以递归方式在整个存储库(包括subrepos)上进行操作,因此请确保您没有吹走您想要保留的更改。