Untrack并停止在git中跟踪文件

我有一个深层的子文件夹称为objects与文件称为*.object ,我不想跟踪由Windows(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 

只有当我将*.object添加到.gitignore时,这些文件*.object跟踪的文件列表中消失。 我的通配符有什么问题?

此外,什么时候是git update-index必需的,什么时候该做git rm --cached myfile

是否有一个通配符的function,像git rm --cached **/foo/*.zip

更新:同样,将.gitignore行添加到.gitignore (并不总是可取的,但仍然)没有效果。 这是不是古怪,因为这些文件可能已经被追踪了?

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

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

我明白,只caching停滞 – 你必须git commit从回购中删除它们。