我正在尝试清除整个树中存在的所有未跟踪文件和修改过的文件。
例如: - dir/sub_dir/end
是一张工作树。 cwd是end
当我在工作树中git status -su
returns all the modified and untracked files
时。
git status -su
M ../rahul.txt
?? nuke1.txt
现在,当我位于树的顶部i.e. dir directory
时,我想删除未跟踪的文件。
我做了git clean -f
,但文件nuke1.txt
未清除。
所以,
答案 0 :(得分:1)
从树顶部递归清理文件:
排除被忽略的文件:git clean -df
包括忽略的文件:git clean -dfx
重要提示:我强烈建议您在运行上述命令之前使用-n
标志进行干运行
[git clean]通过递归删除不是的文件来清理工作树 在版本控制下,从当前目录开始。
与1基本相同的答案。
要将所有文件签出到原始状态,您可以运行git reset --hard
。但是,您应该对此命令非常谨慎,因为它是不可逆转的,即您将失去所有更改。
作为补充提示,我强烈建议您阅读以下精彩文章,这些文章将为您提供有关这些命令以及如何使用它们的一些解释: