如何在没有git clean的情况下删除GIT中未跟踪的文件

时间:2017-09-09 09:34:43

标签: git

如何删除未跟踪的文件?我已经尝试了几乎所有git clean的变化[即git clean -f -d -n -x]并尝试了git stash save --include-untracked 但文件仍然是。有什么建议吗?

$ git st 
On branch abc 

Untracked files: 
     (use "git add <file>..." to include in what will be committed) 
           meow/ 
           woof_001

3 个答案:

答案 0 :(得分:5)

当我遇到类似问题时,我刚遇到您的问题。我的问题原来是,当我输入git命令时,我不在项目的顶级文件夹中。

在这种情况下,“ git status”似乎会列出您的工作副本中所有未跟踪的文件,但git clean不会处理当前目录之外的任何内容

答案 1 :(得分:1)

未跟踪文件是仅存在于具有.git目录的文件夹中本地计算机的文件系统上的文件。任何尝试从索引中删除它们的git命令都不会做任何事情,因为它们不存在于索引中。 Git没有对它们进行索引(&#34;跟踪&#34;),因此它们并不了解它们。

根据文件的性质,您可以选择几种选项。

生成的文件

如果它们是由IDE或二进制文件(如bin /或obj /)生成的文件,那么您可能不想将它们提交给源代码控制。您应该将条目添加到在存储库根目录下提交到源控件的.gitignore文件中,以便它对整个存储库有效。 Here是.gitignore文件的一些很好的例子。

您真正不想保留的文件

你可以:

  1. 从文件系统中删除它们;或
  2. 将文件移动到包含.git文件夹的文件夹(或任何子文件夹除外)之外的其他位置。
  3. BTW:git stash只适用于首次添加的文件。存储需要给一个名字,并且与&#34;搁置&#34;相同的想法。或&#34;搁置&#34;并允许您与其他人共享更改,而无需将更改提交给分支本身。

答案 2 :(得分:1)

请使用命令“ git clean -d -f”