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
从回购中删除它们。