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

35 浏览
0 Comments

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

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

admin 更改状态以发布 2023年5月24日
0
0 Comments

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

  1. 仅显示将会执行的操作,不会真的删除任何内容。

    git clean -n
    

    或者

    git clean --dry-run
    

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

    git clean -fd
    

然后可以使用git status检查文件是否真的被删除了。

0
0 Comments

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

概要

git clean [-d] [-f] [-i] [-n] [-q] [-e ] [-x | -X] [--] …​

说明

通过递归删除未在版本控制下的文件来清理工作树,从当前目录开始

通常只会删除Git不知道的文件,但如果指定了-x选项,则还会删除被忽略的文件。例如,这可以用于删除所有构建产品。

如果给出任何可选的...参数,那么只有这些路径会受到影响。


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

# Print out the list of files and directories which will be removed (dry run)
git clean -n -d

清理步骤 - 注意:这将删除文件

# Delete the files from the repository
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--force

如果Git配置变量clean.requireForce未设置为false,则git clean不会运行,除非给出-f-n-i

-x

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

-X

仅删除被Git忽略的文件。这可能有助于从头开始重建所有内容,但保留手动创建的文件。

-n--dry-run

不实际删除任何东西,只显示将要执行的操作。

-d

除了未跟踪的文件外,还删除未跟踪的目录。如果一个未跟踪的目录由不同的Git仓库管理,则默认情况下不会将其删除。如果确实想删除这样的目录,请两次使用-f选项。

0