如何使用mercurial进行原始结账?

Joh*_*den 3 git mercurial

如何将工作目录状态恢复到存储库的新克隆(显然我可以克隆我的存储库,但这看起来有点野蛮.)

用git我会这样做:

git clean -xdn (dry-run, to see what I'm about to destroy)

git clean -xdf (force, to actually do it)
Run Code Online (Sandbox Code Playgroud)

我假设可能有一个微妙的不同的mercurial等价物,但我找不到它.

Mar*_*ler 7

您的git clean命令从工作树中删除未跟踪的文件,包括被忽略的文件.等效的Mercurial命令由标准清除扩展提供:

hg clean --all --print
Run Code Online (Sandbox Code Playgroud)

删除--print实际删除文件,删除--all只删除未跟踪文件并留下被忽略的文件.

如果您还想丢弃尚未推送的本地变更集,即相当于

git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

那么你需要启用mq扩展并运行

hg strip "outgoing()"
Run Code Online (Sandbox Code Playgroud)

您的本地克隆现在看起来就像您第一次克隆它时一样.

(是的,我们的工具箱中也有清晰的工具,但是在您决定使用它们之前它们会被隐藏起来.)