2015-07-09 1 views
6

Potrzebuję dodać do obszaru zainscenizowanego wszystkie pliki ini bieżącego katalogu i jego podkatalogów rekursywnie. Czy istnieje dla niego pojedynczy filtr?Czy mogę napisać bardziej kompaktową regułę dla git add?

używam go:

git add *.ini ./**/\*.ini 

Więc wskazał dwie reguły wyboru. Czy mogę napisać to bardziej kompaktowo za pomocą pojedynczej reguły?

Próbowałem takich wariantów: **/\*.ini, ./**/\*.ini, */**/\*.ini, ale to nie to samo.

Odpowiedz

10

Korzystając git add "*.ini". Umieszczając w cudzysłowach *.ini unikasz tego, że twoja powłoka rozszerza wzorzec tylko do zgodnego pliku (ów) w twoim bieżącym katalogu, zanim jeszcze przekaże argument do git.

+0

Oh działa również: 'git add \ *. Ini' –

+0

Oczywiście, każda składnia, która ucieka z gwiazdki działa ;-) – sschuberth

1

Ogólnie, można użyć find dla bardziej skomplikowanych operacji:

find . -type f -name '*.ini' -exec git add {} +