Git:我如何删除git status -s中列出的文件“??”,这些是我添加到本地仓库的文件?

时间:2011-09-26 19:06:22

标签: git

我的git状态中有几个文件 - 列为

  

??文件1

     

?? filepath / file2

     

?? file3

     

??文件路径/文件4

我一直忽视这些并继续提交,推动,拉动,而且我的状态报告中有太多这些。

我试过git rm file1。它不起作用。它说致命路径与任何文件都不匹配。

谢谢!

4 个答案:

答案 0 :(得分:13)

这些是未跟踪的文件,即文件系统中存在的文件,但您从未通过git add将它们添加到存储库中。

如果您不需要它们,您可以rm它们。或者只是git clean -fd如果你想全部删除它们。如果你想在删除它们之前做一些过滤,你可以这样做:

git ls-files -o --exclude-standard | grep 'my custom filter' | xargs rm

如果您想保留这些文件,但希望git status忽略它们,请将它们添加到.gitignore文件中。请阅读man gitignore了解详情。

答案 1 :(得分:1)

您可以暂时将这些内容添加到.gitignore文件中,以便它们不会显示在git status中,并且您不会意外添加它们。

git rm file不起作用,因为这些文件尚未添加到您的存储库中,因此无需删除

答案 2 :(得分:0)

这些文件未跟踪,因此git rm不起作用(这是从Git控件中删除文件的命令)。你基本上有两个选择:

  • 忽略这些文件。阅读gitignore。您可以将忽略模式添加到.gitignore文件中,您可以提交该文件并与同事共享,也可以在每个代理.git/info/exclude或每用户.config/git/ignore中添加文件

  • 删除这些文件。当您不使用Git时用于删除文件的任何工具都可以使用。此外,Git为您提供git clean帮助您完成此任务。

答案 3 :(得分:0)

我使用这种方式,它对我有用:

git status | grep file | xargs rm