是否可以从我的工作目录中删除所有未跟踪的文件?假设我在我的工作目录中添加了一些文件,没有通过“hg add”添加它们,现在想完全摆脱这些新文件?
我使用的是windows,虽然我使用的是PowerShell,所以在这里也可以使用组合解决方案。
是否可以从我的工作目录中删除所有未跟踪的文件?假设我在我的工作目录中添加了一些文件,没有通过“hg add”添加它们,现在想完全摆脱这些新文件?
我使用的是windows,虽然我使用的是PowerShell,所以在这里也可以使用组合解决方案。
当前回答
不清洗的正确方法是:
hg st -un0 | xargs -0 rm
其他回答
不清洗的正确方法是:
hg st -un0 | xargs -0 rm
这在Windows 10命令行中工作(当然要小心使用):
for /f %g in ('hg status -un') do @echo %g & @del %g
这应该可以达到目的:
hg status | grep '^\?' | sed 's/^\? //' | xargs rm -rf
如果你没有本地更改,一个快速/hack的方法是从文件管理器(例如Windows资源管理器)中删除你想要的文件夹,然后使用“hg revert”只恢复被跟踪的文件。
rm $(hg st -u)
...这里-u代表“untracked”,你也可以选择其他状态。