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


当前回答

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

这将使你处于新鲜的克隆状态。

git clean -ffdx

在此 repo 中删除所有额外的文件夹和文件,但不是其子模块

git clean -fdx

删除额外的文件夹,但不删除文件(例如构建或登录文件夹)

git clean -fd

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

如果文件没有被忽视,并且还没有被检查,那么它仍然存在。

git clean -fdX

新互动模式

git clean

其他回答

要知道在实际删除之前会删除什么:

清洁 -d -n

它会产生这样的东西:

将移除 sample.txt

要删除前命令输出中列出的所有内容:

清洁 -d -f

它会产生这样的东西:

删除 sample.txt

这是我一直使用的:

git clean -fdx

对于一个非常大的项目,你可能想运行它几次。

我认为最安全、最容易的方式就是这样!

git add .
git stash 

更多信息 https://www.atlassian.com/git/tutorials/saving-changes/git-stash#stashing-your-work

用途: git clean [-d] [-f] [-i] [-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 docs 删除 Untracked 文件是 git clean

git clean - 从工作树中删除未追踪的文件

可用的选项:

git clean 
    -d -f -i -n -q -e -x -X (can use either)

解释:

1 - D

除未追踪的目录外,除未追踪的文件外,除未追踪的目录外,除未追踪的目录外,除非由另一个 Git 存储库管理,则不会默认删除。

如果 Git 配置变量 clean.requireForce 未设置为虚假,则 git clean 将拒绝运行,除非提供 -f、 -n 或 -i。

3 -i, - 互动

4 -n, -dry-run

5 -q, - 放心

保持沉默,只报告错误,但不是成功删除的文件。

除了在.gitignore (每个目录) 和 $GIT_DIR/info/exclude 中找到的外,还考虑这些模式在无效的规则中。

7、X

8、X

删除仅由 Git 忽略的文件,这可能有助于重建一切,但保持手动创建的文件。