Dire che sto provando a controllare un certo insieme di file git, ad es. app/*^(.tmpl).html
,come usare regex nel comando git checkout per specificare sottoinsiemi di file
come lanciare questo regex in git checkout branch -- (regex)
Dire che sto provando a controllare un certo insieme di file git, ad es. app/*^(.tmpl).html
,come usare regex nel comando git checkout per specificare sottoinsiemi di file
come lanciare questo regex in git checkout branch -- (regex)
Come accennato in "Is there a way to use wildcards with git checkout
?"
Git non tratta con il carattere jolly, ma fa la shell.
Come noted below, si avrebbe bisogno di sfuggire il carattere jolly in modo che git di interpretarlo: afile\*
, o usare le virgolette semplici.
Il example section of git checkout
mostra un uso jolly:
rm hello.c
git checkout -- '*.c'
Nota le virgolette intorno
*.c
.
Anche il filehello.c
verrà estratto, anche se non si trova più nell'albero di lavoro, poiché il globbing dei file viene utilizzato per corrispondere alle voci dell'indice (non nella struttura di lavoro della shell).
Un'alternativa, per esempio, potrebbe essere quella di utilizzare la funzione Trova (come in "“git add *.js
” did not add the files in sub-directories")
find . -name '*js' -exec git checkout {} \;
si può tentare la regex con find --regex
risposta impressionante, posso vederlo risolvere altri problemi lungo la strada ... – user2167582
git ora supporta regex al checkout, vedi sotto. – Ezra
@Ezra Grazie. Ho modificato la risposta di conseguenza. – VonC
Proprio aggiornando questa risposta, ma sono stato in grado a git checkout
con un carattere jolly quindi credo che sia possibile ora. Sto eseguendo git versione 1.9.3.
Si noti che l'asterisco deve essere sostituito, tuttavia: 'git checkout foo \ *' –
Quale comando hai utilizzato dalla mia risposta in basso? un 'find --regex'? – VonC