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


当前回答

我用这个:

  1. git status
  2. 复制文件的路径
  3. rm <path of file>

我的项目有很多由巨大的 ANT 构建脚本创建的文件。 使用git clean会造成混乱

其他回答

用户互动办法:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

- i 用于交互式
-f 用于武力
-d 用于目录
- 被忽略文件的x( 需要时添加)

注: 添加添加添加- n,n-- 干燥运行检查它能做什么

git clean -f

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

git clean -fd

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

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

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

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

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