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


当前回答

普通普通git clean命令不会用我的git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!

其他回答

我刚刚发明和尝试的这种情形的救生衣(非常有效):

git add .
git reset --hard HEAD

当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.

删除此 repo + 子模块中的所有额外文件夹和文件

这让你和新克隆人处于同样的状态

git clean -ffdx

删除此回调中的全部额外文件夹和文件, 但不删除子模块

git clean -fdx

删除额外的文件夹, 但不包括文件( 如: 构建或日志文件夹) 。

git clean -fd

删除额外文件夹 + 忽略的文件(但不是新添加的文件)

如果文件没有被忽略, 还没有被检查, 那么它会留下来 。 请注意首都 X 。

git clean -fdX

新的互动模式

git clean

(d) [-f] [-n] [-q] [-e] [-x -X] [-]...

-q, --quiet           do not print names of files removed
-n, --dry-run         dry run
-f, --force           force
-i, --interactive     interactive cleaning
-d                    remove whole directories
-e, --exclude <pattern>
                      add <pattern> to ignore rules
-x                    remove ignored files, too
-X                    remove only ignored files

普通普通git clean命令不会用我的git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!

git add --all, git stashgit stash drop,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。