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


当前回答

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

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

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

其他回答

git clean -f

将会从当前 git 中删除未跟踪的文件

git clean -fd

当您想要删除目录和文件时, 这将只删除未跟踪的目录和文件

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

git clean -d -f -f

我们可以使用下面的 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

我喜欢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 清洁 -f -d

$ git clean -f -d
Removing client/app/helpers/base64.js
Removing files/
Removing package.json.bak

where 
-f is force 
-d is a directory