如何将工作目录状态恢复到存储库的新克隆(显然我可以克隆我的存储库,但这看起来有点野蛮.)
用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等价物,但我找不到它.
您的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)
您的本地克隆现在看起来就像您第一次克隆它时一样.
(是的,我们的工具箱中也有清晰的工具,但是在您决定使用它们之前它们会被隐藏起来.)