Parametri di configurazione del comando GREP:
I parametri di comando "Git grep" vengono utilizzati per configurare questo comando di seguito.
Nome parametro | Scopo |
---|---|
grep.patternType | Viene utilizzato per impostare il comportamento di corrispondenza predefinito. |
grep.nome e cognome | È impostato su true per abilitare l'opzione -full -name per impostazione predefinita. |
grep.colonna | È impostato su TRUE per abilitare l'opzione -column per impostazione predefinita. |
grep.LINEMBER | È impostato su true per abilitare -n opzione per impostazione predefinita. |
grep.ExtendedRegexp | È impostato su True per abilitare l'opzione -Extended -Regexp per impostazione predefinita. Ma questa opzione non funzionerà se il grep. Il tipo di pattern contiene un altro valore al posto del valore predefinito. |
grep. Discussioni | Viene utilizzato per impostare il numero di thread Grep Worker. |
grep.fallbacktonoindex | Se è impostato su True, allora il Grep -No -indice quando il Git Grep eseguiva al di fuori di un repository Git. Il valore predefinito di questo parametro è falso. |
Opzioni di comando grep:
IL 'git grep' Il comando ha molte opzioni per cercare il contenuto del repository in diversi modi. Alcune delle opzioni GREP comunemente usate hanno descritto di seguito.
Opzione | Scopo |
---|---|
-I, -Ignoro -Case | Viene utilizzato per corrispondenze insensibili al caso degli schemi e dei file. |
-IO | Viene usato per non corrispondere al modello nei file binari. |
-profondità massima | È usato per ogni dato nella riga di comando. Il valore di profondità di -1 indica nessun limite. Questa opzione viene ignorata se contiene caratteri jolly attivi. |
-r, -recursivo | Funziona come -max-depth = -1 ed è il valore predefinito. |
-NO-RECURSIVO | Funziona come -max -depth = 0. |
-W, -Word -Regexp | È usato per abbinare il modello solo al limite della parola. |
-V, -Invert -Match | Viene utilizzato per selezionare linee non corrispondenti. |
-nome e cognome | Viene utilizzato per forzare i percorsi all'output rispetto alla directory superiore del progetto. |
-e | È usato per i motivi che iniziano con - e dovrebbe essere usato con il grep. |
-e, -or, -Not, (...) | Queste opzioni vengono utilizzate per definire i modelli multipli per la ricerca. -o è l'operatore predefinito e -e ha una precedenza maggiore di -or. |
-E, -Exted -Regexp, -g, -basic -regexp | Viene utilizzato per i pattern REGEXP estesi/base Posix. |
-P, -perl -regexp | È usato per modelli di espressione regolari compatibili perl. |
-F, -stringhe fissate | Viene utilizzato per i pattern di stringa fissa. |
-F | Viene utilizzato per leggere i modelli dal file. |
-n, -line -numero | Viene utilizzato per prefisporre il numero di riga alle linee corrispondenti. |
-o, -solo matching | Viene utilizzato per stampare solo le parti abbinate (non vuote) di una linea di corrispondenza. |
-c, -count | È usato per mostrare il numero di righe che corrispondono. |
-rottura | Viene utilizzato per stampare una linea vuota tra le partite dai diversi file. |
-aiuto | Viene utilizzato per visualizzare tutte le opzioni disponibili con la descrizione del comando GREP. |
Abilita configurazione GREP:
Prima di eseguire il comando "git grep" di questo tutorial, eseguire il comando seguente per abilitare -esteso-regexp E -N Opzioni del comando grep.
$ git config -Global grep.ExtendRegexp True
$ git config -Global grep.Linenumber True
Uso del comando Grep per la ricerca:
Un repository locale chiamato libreria è stato utilizzato in questo tutorial per verificare l'output del comando GREP per la ricerca del contenuto nel repository. Il repository contiene due file. Questi sono lista di libri.PHP E booktype.PHP.
Esegui il comando seguente per cercare la parola 'Tipo di libro' Nei file di repository.
$ git grep 'tipo di libro' $ (git rev -list -all)
Il seguente output mostra che la parola 'Tipo di libro' esiste in Linea 1 del booktype.PHP file.
Esegui il comando seguente per cercare le righe dei file del repository con i valori di commit sHA che contengono 'boo' All'inizio dei file. Qui, il -i l'opzione è stata utilizzata per la ricerca insensibile al caso.
$ git grep -i 'boo*' $ (git rev -list --all)
Il seguente output lo mostra 'boo' contiene due file alla riga numero 1, ma la voce per il lista di libri.PHP Il file è apparso due volte per due commit.
Il modello è stato cercato all'interno del contenuto del file repository nei comandi precedenti. Esegui il comando seguente per cercare il contenuto del file particolare.
$ git grep -f 'booktype.PHP.'
Il seguente output lo mostra il libro di booktype.PHP Il file esiste nel repository corrente e il file contiene una singola riga.
Esegui il comando seguente per cercare il modello, "libro" all'interno del contenuto dei file del repository. Qui, l'opzione -e è stata utilizzata per la corrispondenza dei pattern.
$ git grep -e "libro"
Il seguente output mostra che entrambi lista di libri.PHP E booktype.PHP I file contengono la parola 'Libro' alla riga numero 1.
Esegui il comando seguente per cercare più modelli all'interno del contenuto dei file del repository. Qui, l'opzione -e ha usato per la corrispondenza del pattern regex e il tubo (|) funziona come logico o. I file che contengono la parola 'Libro' O 'autore' verrà mostrato dopo aver eseguito il seguente comando.
$ git grep -e 'libro*| autore.'
Il seguente output mostra che la parola 'autore' esiste due volte nel AuthorInfo.PHP file e la parola 'Libro' esiste una volta nel lista di libri.PHP E booktype.PHP file.
Conclusione:
IL 'git grep' è un comando utile per la ricerca del contenuto specifico nel repository Git. La ricerca può essere effettuata in modi diversi utilizzando le diverse opzioni di questo comando. Gli usi di alcune opzioni sono stati descritti in questo tutorial utilizzando un repository demo.