2013-02-22 64 views
38

我有一个名为objects的深度子文件夹,名为*.object,我不想跟踪git(Windows)。Untrack并停止跟踪git中的文件

在我的.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文件从未跟踪的文件列表中消失。我的通配符有什么问题?

另外,什么时候需要git update-index,什么时候应该做git rm --cached myfile

是否有像git rm --cached **/foo/*.zip这样的通配符功能?

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

+2

试试这个'objects /' – pktangyue 2013-02-22 15:49:59

回答

83

OK,但不能使用通配符(在Windows显然)似乎可以删除整个文件夹有:

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

据我所知,只有--cached unstages - 你必须git commit将其删除从回购。

+6

我认为你必须将文件/目录添加到.gitignore中。 – Donato 2015-06-21 18:14:36