2010-05-25 22 views
8

Czytałem http://www.kernel.org/pub/software/scm/git/docs/v1.7.10/gitignore.html, a 6 punktów używanych do wyjaśnienia wzorców ignorowania wydaje się opisywać niestandardowy wariant składni globu wyszukiwania. Jestem bardziej zaznajomiony z Mercurial, który pozwala jawnie ignorować za pośrednictwem wzorców glob lub regex, bez zadawania pytań.Mylące .gitignore syntax

  • Czy w Git istnieje podobna funkcjonalność?
  • Czy ktoś może wskazać mi bardziej wyczerpujące odniesienie niż strona Git man?

Best,
t

+0

Globbing jest niestandardowy na pewnym poziomie - jest zależny od powłoki. Prawdopodobnie Mercurial zapewnia również własną wersję globtroterowania; zmiana zachowania w zależności od powłoki użytkownika nie ma większego sensu. – Cascabel

+1

Dziękuję, przeczytałem twoją drugą odpowiedź na http://stackoverflow.com/questions/2899875/git-add-not-working-w-png-files/2900049#2900049 które pomogły oczyścić trochę rzeczy na zewnątrz. Jednak powyższy komentarz wydaje się przeczyć twojemu i obserwacji VonC, że Git powraca do tego, co pozwala na to globalna składnia skorupy użytkownika. Po ponownym odczycie po twoich komentarzach, strona man w rzeczywistości wspomina o zależności wykluczającej na fnmatch() i powłoce użytkownika (ostatnie dwa punkty) – tmslnz

+0

Nie sądzę, że to zależy od powłoki użytkownika. Ta dokumentacja jest trochę zagmatwana, masz rację, ale używa ona fnmatch w obu przypadkach. Dokumentacja po prostu używa frazy "shell glob" jako bardziej czytelnego zamiennika dla fnmatch. Kod nigdy właściwie nie wywołuje powłoki użytkownika. – Cascabel

Odpowiedz

1

Niezupełnie. Może być stosowany składni bash-like, gdzie można określić coś takiego:

*tmp_*~

która jest taka sama jak RegExp: .*tmp_.*~

Nadzieja to pomoże!

+1

Niezupełnie * co *?Pamiętaj: twoja odpowiedź niekoniecznie pojawi się w kolejności, w jakiej to zrobiła, kiedy ją po raz pierwszy publikujesz, więc odpowiedź na poprzednią odpowiedź lub komentarz nie jest dobrym pomysłem. Ponadto nawet pytanie może zostać zmienione, a inne odpowiedzi mogą zostać usunięte. – iconoclast

+0

Masz rację, dziękuję! Zapomniałem o tym fakcie ... –

3

Nie ma wbudowanego sposobu wyłączenia przez regex. Gdyby tak było, zobaczyłbyś go na stronie podręcznika.

+0

Jak wspomniałem w twojej poprzedniej odpowiedzi http://stackoverflow.com/questions/2899875/git-add-not-working-with-png-files/2900049#2900049 (i jak Chris Johnsen szczegóły w tym samym pytaniu), wszystko Wybory plików oparte na wzorcach są delegowane do funkcji 'fnmatch()', czyż nie? – VonC

+0

Nie prawda jefromi, '! Wzór' neguje dopasowanie – AD7six

+0

@ AD7six: Tak, a ** wzory gitignore nie są wyrażeniami regularnymi **. – Cascabel