Powiedz, że próbuję wyewidencjonować określony zbiór pliku git, np. app/*^(.tmpl).html
,jak używać wyrażenia regularnego w poleceniu git checkout do określania podzbiorów plików
jak rzucać ten regex do git checkout branch -- (regex)
Powiedz, że próbuję wyewidencjonować określony zbiór pliku git, np. app/*^(.tmpl).html
,jak używać wyrażenia regularnego w poleceniu git checkout do określania podzbiorów plików
jak rzucać ten regex do git checkout branch -- (regex)
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
niesamowita odpowiedź, widzę, że rozwiązuje inne problemy na drodze ... – user2167582
git teraz obsługuje regex przy kasie, patrz poniżej. – Ezra
@Ezra Dziękuję. Poprawiłem odpowiedź odpowiednio. – VonC
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.
Należy zauważyć, że gwiazdka musi zostać zmieniona, jednak: 'git checkout foo \ *' –
Jakiego polecenia użyłeś z mojej odpowiedzi poniżej? a 'find --regex'? – VonC