如何删除未跟踪的Git文件?
我正在研究一个分支,说我从主分支分支出来的“实验”分支。然后,我在实验分支中生成一个用户模型,但是并没有将它们添加到索引中。
如果我想放弃最近在实验分支中添加的文件的所有更改,我该怎么办? 未跟踪的文件如下所示:
$ git status On branch new_chick Untracked files: (use "git add <file>..." to include in what will be committed) .project app/models/user.rb db/migrate/ test/fixtures/users.yml test/unit/user_test.rb
我试图运行“git reset – hard”,希望能够取消所有这些更改,但上面的所有文件仍然显示。
任何人都请点亮我一下?
删除未跟踪的文件/目录:
git clean -fdx
强制
-d – 目录
-x – 也删除被忽略的文件(如果你不想删除被忽略的文件,不要使用它)
那些未跟踪的文件。 这意味着git没有跟踪他们。 它只是列出它们,因为它们不在git忽略文件中。 由于它们没有被git跟踪,所以git reset
不会触及它们。
如果你想吹走所有未跟踪的文件,最简单的方法是使用git clean -f
(使用git clean -n
而不是实际删除任何内容)。 否则,你可以删除你不想要的文件。
用户交互方式:
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/amazon/arsdumpgenerator/inspector/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
-i用于交互式
-f强制
-d用于目录
-x用于忽略的文件(如果需要添加)
注意: 添加-n或–dry-run只是检查它会做什么。
为了删除未跟踪的文件:
$ git clean -f -x或者git clean -fx
要删除未跟踪的目录,请使用:
$ git clean -fdx