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


当前回答

如果没有其他效果, 只需删除“ git status” 命令中列出的所有更改即可使用以下组合 :

git add -A && git commit -m temp && git reset --hard HEAD^

这将第一阶段 您的所有更改, 然后创建一个临时承诺, 然后丢弃它 。

其他回答

哦,我,我,我,Zshzzsh 千兆赫通过 git 插件提供这些伟大的别名。 它们也可以在狂欢中使用 。

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean 除去未跟踪文件之外未跟踪的目录.
  • gpristine硬重置本地更改, 删除未跟踪的目录, 未跟踪的文件不要使用从.gitignore( 每一个目录) 和 $GIT_ DIR/ info/ excluldude 读取的标准忽略规则, 但是仍然使用给 - e 选项的忽略规则。 这样可以删除所有未跟踪的文件, 包括构建产品。 这可以用来( 可能与 Git 重设结合) 创建一个纯净的工作目录, 测试干净的构建 。.

我喜欢用git stash命令,稍后您可以得到隐藏的文件和更改。git clean这也是一个很好的选择, 但完全取决于您的要求。 这是关于 Git 藏藏和 Git 干净的解释,7.3 Git 工具 - 粉刷和清洁

uggested 命令从 git docs 删除未跟踪的文件git 干净

git 干净- 从工作树中移除未跟踪的文件

建议的方法:通过使用git clean -i这样我们就可以控制它。让我们看看剩下的选择。

可用的选项 :

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

解释:

1. - d. d. 与

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

2.f, -- 力

如果 Git 配置变量为清洁. require Force 不设假, 除非给 -f, n 或 -i , git clean 将拒绝运行 。

3 -i, -- 互动

以交互方式显示要做什么和清除文件。 详情请见“ 互动模式 ” 。

-n, --dry-run

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

- 5q, - 安静

保持安静, 只报告错误, 而不是成功删除的文件 。

-e, --clucte=

除了在.gitignore(每个目录)和$GIT_DIR/info/exclude中发现的图案外,还认为这些图案属于一套现行无视规则。

7. -x

不要使用从.gitignore( 每一个目录) 和 $GIT_ DIR/ info/ exclude 读取的标准忽略规则, 但是仍然使用给定的 - e 选项的忽略规则。 这样可以删除所有未跟踪的文件, 包括建材产品 。 这可以用来( 可能与 Git 重设一起) 创建一个纯净的工作目录以测试清洁的构建 。

8. -X8 -X

只删除被 Git 忽略的文件。 这也许有助于从零开始重建一切, 但保存手动创建的文件 。

我喜欢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 clean -fdx

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