我有一个名为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
(并非总是可取但仍然可用)无效。这有点奇怪,因为过去可能已经跟踪过这些文件了吗?
答案 0 :(得分:86)
好的,虽然通配符不起作用(显然在Windows中)似乎可以删除整个文件夹:
git rm -r --cached "path/to/foo/"
我理解 - 只有非舞台 - 你必须git commit
将它们从回购中删除。