2014-07-22 6 views

Antwort

10

Wie in "Is there a way to use wildcards with git checkout?" erwähnt

Git mit dem Wildcard nicht umgehen, aber die Shell tut.

Als noted below, müßten Sie die Wildcard-Zeichen, um git zu entkommen, es zu interpretieren: afile\* oder einfache Anführungszeichen verwenden.

Die example section of git checkout zeigt eine Wildcard Nutzung:

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

Beachten Sie die Anführungszeichen um *.c.
Die Datei hello.c wird auch überprüft werden, auch wenn es nicht mehr in dem Arbeits Baum ist, da die Datei Globbing Einträge im Index (nicht im Arbeits Baum von der Shell) anzupassen verwendet wird.

Eine Alternative, zum Beispiel, wäre Fund zu verwenden (wie in "git add *.js” did not add the files in sub-directories")

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

Sie Ihre regex mit find --regex

+0

ehrfürchtige Antwort, ich es Lösung andere Probleme auf dem Weg sehen ... – user2167582

+0

git jetzt regex auf Kasse unterstützt, siehe unten. – Ezra

+0

@Ezra Danke. Ich habe die Antwort entsprechend geändert. – VonC

6

Nur Aktualisierung diese Antwort versuchen können, aber ich war in der Lage zu git checkout mit einem Platzhalter, so glaube ich, dass dies jetzt möglich ist. Ich betreibe git Version 1.9.3.

+5

Beachten Sie, dass der Stern entwertet werden muss, aber: 'git checkout foo \ *' –

Verwandte Themen