Untrack并停止在git中跟踪文件

时间:2013-02-22 15:44:23

标签: git

我有一个名为objects的深层子文件夹,文件名为*.object,我不想通过git(Windows)跟踪。

在.gitignore中我尝试了各种组合(例如**/objects/***/objects/*等)无济于事:每次,当我git status时,我看到:

# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       foo/src/objects/a.object
#       foo/src/objects/b.object

只有当我向.gitignore添加*.object时,文件才会从未跟踪的文件列表中消失。我的外卡有什么问题?

此外,何时需要git update-index以及何时应该git rm --cached myfile

rm是否有通配符功能,例如git rm --cached **/foo/*.zip

更新:同样,将行.gitignore添加到.gitignore(并非总是可取但仍然可用)无效。这有点奇怪,因为过去可能已经跟踪过这些文件了吗?

1 个答案:

答案 0 :(得分:86)

好的,虽然通配符不起作用(显然在Windows中)似乎可以删除整个文件夹:

git rm -r --cached "path/to/foo/"

我理解 - 只有非舞台 - 你必须git commit将它们从回购中删除。