2011-10-30 22 views

Odpowiedz

21

Place

*/lib/file.f 

w .gitignore. To spowoduje, że git zignoruje dowolny plik w postaci project/<DIR>/lib/file.f, zakładając, że .gitignore znajduje się w katalogu project. Aby git ignorować lib/file.f dwa katalogi w dół, trzeba również dodać

*/*/lib/file.f 

do .gitignore, i tak dalej.

Znacznie prostsze oczywiście byłoby umieścić

*file.f 

w .gitignore zablokować wszystkie pliki o nazwie file.f, ale Twoje pytanie wydaje się sugerować, istnieje co najmniej jeden plik o tej nazwie, który chcesz, aby nie ignorować.

+2

znajdę „file.f” nie działa. "* file.f" jednak. – Holf

+0

@Holf Plik 'plik.f' nie działa, ponieważ odwołujesz się do samego pliku, bez ścieżki (i prawdopodobnie nie masz pliku' file.f' w folderze głównym twojego projektu). Dlatego odpowiedź _unutbu_ ma wszystkie przykłady z pełną ścieżką. Plik '* file.f' działa, ponieważ użyłeś symbolu wieloznacznego' * 'i tym samym zignoruje on _any plik_, który pasuje do twojego wzorca - czy to naprawdę, co chciałeś osiągnąć? – trejder

5

również może chcesz usunąć plik z git pamięci podręcznej, aby sprawdzić, co po prostu ignorowane:

git rm --cached lib/file.f 

to jeśli już dodany plik git indeks

0

Jeśli chcesz aby określić wszystkie podfoldery w określonym folderze użyj /**/. Aby zignorować wszystkie file.f plików w /src/main/ folderu i podfolderów użyć:

/src/main/**/file.f 
Powiązane problemy