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


当前回答

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

git clean -d -f -f

其他回答

OK,OK, OK, OK, OK, OK, OK, OK, OK,OK, OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,删除删除未跟踪的自定义文件及文件夹容易使用git在命令行中,按这样做:

git clean -fd

双检查在这样做之前, 它会删除文件和文件夹, 而不创建任何历史...

在本案中-f代表武力和-d代表目录...

所以,如果只删除文件,您可以使用-f仅 :

git clean -f

如果您想要删除删除(目录) 和文件, 您只能删除未跟踪的目录和文件 :

git clean -fd

还有,你也可以用-x添加被 git 忽略的文件。 如果您想要删除所有文件, 这将很有帮助 。

并添加-igit 请求您逐个删除文件的许可 。

如果您不确定并想要先检查事项,请添加-n旗帜。

使用使用-q如果您不想在成功删除后看到任何报告。

我还创造了下面的图像 让它更令人难忘 尤其是我见过很多人混淆-f有时是用来清理文件夹或把它混为一谈的!


deleting unwanted untracked files and folder

要删除未跟踪的文件, 您应该首先使用命令查看将受到清理影响的文件

git clean -fdn

这将显示要删除的文件列表。 现在要实际删除那些使用此命令的文件 :

git clean -fd

我喜欢git stash push -u因为你可以用git stash pop.

我还找到了一种方法 在藏物中显示未追踪的文件(例如:git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986

内容2:git stash save将作有利于push谢谢 @timp-wolf.

git-清洁这是您正在寻找的。 它用于从工作树上移除未跟踪的文件 。

我们可以使用下面的 git 评论, 很容易地从当前 git 工作树中删除本地的未跟踪文件 。

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

示例:

git reset --hard HEAD

链接 :

  1. https://git-scm.com/docs/git-reset
  2. 我如何使用“ git reset -- hard HEAD” 重置前一次承诺 ?
  3. 重置本地仓库分支, 使其与远程仓库 HEAD 一样
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html