44

我有一个名为的深层子文件夹,其中包含我不想被 git (Windows) 跟踪的objects文件。*.object

在 .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

rm like 有通配符功能git rm --cached **/foo/*.zip吗?

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

4

1 回答 1

89

好的,虽然通配符不起作用(显然在 Windows 中),但似乎可以删除整个文件夹:

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

我知道 --cached 只有 unstages - 你必须git commit从 repo 中删除它们。

于 2013-02-22T16:10:55.860 回答