2013-02-22 62 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