如何从当前的Git工作树中删除本地(未跟踪)的文件?

如何从当前工作树中删除未跟踪的本地文件?


根据Git文档git clean

从工作树中删除未跟踪的文件


步骤1是使用-n选项显示将要删除的内容:

git clean -n

清洁步骤 - 小心:这会删除文件

git clean -f
  • 要删除目录,请运行git clean -f -dgit clean -fd
  • 要删除忽略的文件,请运行git clean -f -Xgit clean -fX
  • 要删除忽略和不被忽略的文件,请运行git clean -f -xgit clean -fx
  • 注意后两个命令在X上的大小写差异。

    如果您的配置中的clean.requireForce设置为“true”(默认值),则需要指定-f否则不会发生任何事情。

    有关更多信息,请再次参阅git-clean文档。

    选项

    -F

    - 力

    如果Git配置变量clean.requireForce未设置为false,则git clean将拒绝运行,除非给定-f,-n或-i。

    -X

    不要使用从.gitignore(每个目录)和$ GIT_DIR / info / exclude读取的标准忽略规则,但仍使用-e选项给出的忽略规则。 这允许删除所有未跟踪的文件,包括构建产品。 这可以使用(可能与git reset一起)来创建一个原始工作目录来测试一个干净的构建。

    -X

    只删除Git忽略的文件。 这对从头开始重建所有内容可能很有用,但保留手动创建的文件。

    -n

    --dry运行

    不要实际删除任何东西,只是显示会做什么。

    -d

    除了未跟踪的文件之外,还要除去未跟踪的目录。 如果未跟踪的目录由不同的Git存储库管理,则默认情况下不会删除它。 如果您真的想删除这样的目录,请使用-f选项两次。


    使用git clean -f -d来确保目录也被删除。

    然后你可以检查你的文件是否真的没有git status


    我很惊讶没有人提到过这个:

    git clean -i
    

    这表示交互式,您将快速了解将要删除的内容,为您提供包含/排除受影响文件的可能性。 总的来说,比在真正的清洁之前运行强制性的--dry-run还要快。

    如果你还想照顾空文件夹,你将不得不在-d折腾。 最后,它提供了一个很好的别名:

    git iclean
    

    话虽如此,交互式命令的额外手持可能会令有经验的用户疲惫不堪。 这些天我只使用已经提到的git clean -fd

    链接地址: http://www.djcxy.com/p/4461.html

    上一篇: How to remove local (untracked) files from the current Git working tree?

    下一篇: Change between activities does not work