是否可以从我的工作目录中删除所有未跟踪的文件?假设我在我的工作目录中添加了一些文件,没有通过“hg add”添加它们,现在想完全摆脱这些新文件?
我使用的是windows,虽然我使用的是PowerShell,所以在这里也可以使用组合解决方案。
是否可以从我的工作目录中删除所有未跟踪的文件?假设我在我的工作目录中添加了一些文件,没有通过“hg add”添加它们,现在想完全摆脱这些新文件?
我使用的是windows,虽然我使用的是PowerShell,所以在这里也可以使用组合解决方案。
当前回答
假设你使用的是*nix系统,你可以运行这样的程序:
rm `hg st | awk '/\?/ {print $2}'`
从mercurial存储库的根目录。
我不知道有什么标准的mercurial命令可以做到这一点,但我相信有很多命令行选项可以做到这一点。我相信有“更好”的解决方案,我有兴趣听取任何其他建议。
请谨慎使用此命令,因为它没有经过彻底测试。
其他回答
谢谢!这在Powershell中也适用:
hg st -un | rm
假设你使用的是*nix系统,你可以运行这样的程序:
rm `hg st | awk '/\?/ {print $2}'`
从mercurial存储库的根目录。
我不知道有什么标准的mercurial命令可以做到这一点,但我相信有很多命令行选项可以做到这一点。我相信有“更好”的解决方案,我有兴趣听取任何其他建议。
请谨慎使用此命令,因为它没有经过彻底测试。
这应该可以达到目的:
hg status | grep '^\?' | sed 's/^\? //' | xargs rm -rf
rm $(hg st -u)
...这里-u代表“untracked”,你也可以选择其他状态。
不清洗的正确方法是:
hg st -un0 | xargs -0 rm