2013-02-22 13 views
38

Mam głęboki podfolder o nazwie objects z plikami o nazwie *.object, których nie chcę śledzić przez git (Windows).Untrack i zatrzymywanie plików śledzenia w git

W .gitignore Próbowałem różnych kombinacji (np **/objects/* lub **/objects/* itd.) Bez skutku: za każdym razem, kiedy robię git status widzę:

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  foo/src/objects/a.object 
#  foo/src/objects/b.object 

Dopiero gdy dodam *.object do. gitignore, że pliki znikają z listy plików nieśledzonych. Co jest nie tak z moimi dzikimi kartami?

Ponadto, kiedy wymagane jest git update-index i kiedy należy wykonać git rm --cached myfile?

Czy istnieje funkcja wieloznaczna dla rm, np. git rm --cached **/foo/*.zip?

AKTUALIZACJA: Podobnie, dodanie linii .gitignore do .gitignore (nie zawsze jest pożądane, ale nadal) nie ma wpływu. Czy to dziwactwo, ponieważ pliki mogły być śledzone w przeszłości?

+2

Spróbuj tego 'objects /' – pktangyue

Odpowiedz

83

OK, choć symbole wieloznaczne nie działają (w systemie Windows podobno) wydaje się, można usunąć cały folder z:

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

Rozumiem, że --cached tylko unstages - trzeba je usunąć git commit z repozytorium.

+6

Zakładam, że musisz również dodać plik/katalog do .gitignore. – Donato

Powiązane problemy