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


当前回答

如果需要从特定的子目录中删除未跟踪的文件,

git clean -f {dir_path}

并合并删除未跟踪的 dir/ file 和被忽略的文件 。

git clean -fxd {dir_path}

在此之后, 您将只对文件进行修改git status.

其他回答

如果未跟踪的目录是自有的 git 仓库( 如子模块) , 您需要使用-f两次:

git clean -d -f -f

使用git reset HEAD <file>以卸开一个文件

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

  1. 不要删除任何东西, 只显示会做什么。

    git clean -n
    

    git clean --dry-run
    
  2. 除未跟踪的文件外,删除未跟踪的目录。如果一个未跟踪的目录由不同的 Git 仓库管理,则默认不会删除。使用该目录。-f如果您真的想要删除此目录, 选项将两次 。

    git clean -fd
    

然后您可以检查您的文件是否真的已删除git status.

要删除未跟踪的文件 :

git add .
git reset --hard HEAD

注意: 第一次浏览到目录并检查您想要清除的分支 。

-i交互式模式,它将告诉您要删除什么, 您可以从列表中选择一个动作 。

  1. 清洁文件 文件仅[不列出文件夹,也不清洗]:$ git clean -i

  2. 清洁文件和文件夹: $ git clean -d -i

-d包括目录。


如果您选择了c从列表中删除。文件/文件夹将被删除,因为文件/文件夹没有被跟踪,还会删除被你弄乱的文件/文件夹。 *

例如:如果您对远程的文件夹进行重组,并将修改拉到本地计算机中。其他人最初创建的文件/文件夹将放在过去的文件夹和您重组的新文件夹中。