2013-07-09 14 views

Odpowiedz

0

Hmm. Nie sądzę, że jest to możliwe przy użyciu bezpośrednich reguł .gitignore.

Jednak powinno to pomóc:

  • .gitignore:

    packages/ 
    
  • dodać pliki wzory:

    git add --force -- $(find packages/ -type f -iname '*.targets') 
    

Ty mógłby nawet zrobić th e dodaj do haka przed zatwierdzeniem, aby automatycznie pobierał nowe pliki celów, gdy się pojawią.

Aby prawidłowo obsługiwać nazwy plików ze znakami specjalnymi:

find packages/ -type f -iname '*.targets' -exec git add --force -- {} + 
3

To wydaje się działać dla mnie (Git 1.8.2.1):

packages/**/*.* 
!packages/**/*.targets 

Potrzebowałem *.* część, inaczej ** mecze 0 katalogów , a samotny * na końcu dopasuje dowolny katalog w pakietach, praktycznie ignorując każdy katalog i dowolny plik wewnątrz.

Mam nadzieję, że *.* nie jest dla ciebie zbyt zły, ale posiadanie plików bez rozszerzenia jest dość nietypowe.

+0

wydaje się ignorować tylko pliki z jedną kropką, więc wiele moich plików zawierających więcej niż jedną kropkę nie jest ignorowanych, takich jak: packages/AttributeRouting.3.5.6/AttributeRouting.3.5.6.nupkg – Escobar5

+0

Dziwne. Utworzono ten dokładny katalog i nazwę pliku w moim repozytorium testowym i został on zignorowany poprawnie. Gwiazdka powinna sam dopasować kropki, jedyne, co wymuszam, to co najmniej jedna kropka, ale dwie powinny zostać zignorowane. Z której wersji Gita korzystasz? Który system operacyjny? (Używam Mac OS X 10.8.4) – yonosoytu

+0

Może to być moja wersja, używam wersji 1.7.11 w systemie Windows, sprawdzę nowszą wersję – Escobar5

Powiązane problemy