2014-07-22 6 views

Odpowiedz

10

Jak wspomniano w "Is there a way to use wildcards with git checkout?"

Git nie radzić sobie z zamiennika, ale twoja powłoka robi.

Jak noted below, trzeba by uciec wieloznaczny w celu git je interpretować: afile\* lub używać prostych cudzysłowów.

example section of git checkout pokazuje Wildcard Usage:

rm hello.c 
git checkout -- '*.c' 

zanotować cudzysłowie *.c.
Plik również zostanie wyewidencjonowany, mimo że nie jest już w drzewie roboczym, ponieważ globbing plików służy do dopasowywania wpisów w indeksie (nie w drzewie roboczym przez powłokę).

Alternatywą, na przykład, byłoby wykorzystanie znalezienia (jak w „git add *.js” did not add the files in sub-directories”)

find . -name '*js' -exec git checkout {} \; 

Wypróbuj regex z find --regex

+0

niesamowita odpowiedź, widzę, że rozwiązuje inne problemy na drodze ... – user2167582

+0

git teraz obsługuje regex przy kasie, patrz poniżej. – Ezra

+0

@Ezra Dziękuję. Poprawiłem odpowiedź odpowiednio. – VonC

6

Wystarczy aktualizacji tej odpowiedzi, ale byłem w stanie do git checkout z symbolem wieloznacznym, więc uważam, że jest to możliwe teraz. Używam wersji git w wersji 1.9.3.

+5

Należy zauważyć, że gwiazdka musi zostać zmieniona, jednak: 'git checkout foo \ *' –

Powiązane problemy