Konfigurasjonsparametere for GREP -kommando:
Kommandoparametrene 'Git grep' brukes til å konfigurere denne kommandoen har nevnt nedenfor.
Parameternavn | Hensikt |
---|---|
grep.mønstertype | Det brukes til å sette standard matchende oppførsel. |
grep.fullt navn | Det er satt til sant for å aktivere alternativet -Full -navn som standard. |
grep.kolonne | Det er satt til sant for å aktivere alternativet -kolonne som standard. |
grep.linjenummer | Det er satt til sant for å aktivere -n -alternativet som standard. |
grep.ExtendedRegexp | Det er satt til sant for å aktivere alternativet -extended -gegexp som standard. Men dette alternativet vil ikke fungere hvis grep. Mønstertype inneholder en annen verdi i stedet for standardverdien. |
grep. tråder | Det brukes til å angi antall greparbeidertråder. |
grep.FallbacktonoIndex | Hvis det er satt til sant, så git grep -ingen -indeks når git grep utført utenfor et git -depot. Standardverdien for denne parameteren er falsk. |
Alternativer for GREP -kommando:
De 'git grep' Kommandoen har mange alternativer for å søke i depotinnholdet på forskjellige måter. Noen av de ofte brukte GREP -alternativene har beskrevet nedenfor.
Alternativ | Hensikt |
---|---|
-Jeg, -ignore -sak | Det brukes til tilfelle ufølsomme kamper av mønstrene og filene. |
-Jeg | Det brukes til ikke å samsvare med mønsteret i binære filer. |
-Maks-dybde | Den brukes for hver gitt på kommandolinjen. Dybdeverdien på -1 indikerer ingen grense. Dette alternativet blir ignorert hvis det inneholder aktive jokertegn. |
-R, -Rekursive | Det fungerer som -max-dybde = -1, og det er standardverdien. |
-Ingen-Recursive | Det fungerer som -max -dybde = 0. |
-W, -Word -GEGEXP | Det brukes til å matche mønsteret bare ved ordgrensen. |
-V, -invert -match | Det brukes til å velge ikke-matchende linjer. |
-fullt navn | Den brukes til å tvinge banene til utdataene i forhold til prosjektets toppkatalog. |
-e | Det brukes til mønstrene som starter med - og bør brukes med grep. |
-og, -eller, ikke, (...) | Disse alternativene brukes til å definere de flere mønstrene for å søke. -eller er standardoperatøren og -og har høyere forrang enn -eller. |
-E, -utvidet -GEGEXP, -G, -Basic -GEGEXP | Det brukes til POSIX utvidede/grunnleggende regexp -mønstre. |
-P, -Perl -GEGEXP | Det brukes til perl-kompatible vanlige uttrykksmønstre. |
-F, -fikserte strenger | Det brukes til de faste strengmønstrene. |
-f | Det brukes til å lese mønstrene fra filen. |
-n, -linje -nummer | Det brukes til å prefiksere linjenummeret til matchende linjer. |
-o, bare matching | Den brukes til å skrive ut bare de matchede (ikke-tomme) delene av en matchende linje. |
-C, -Count | Det brukes til å vise antall linjer som samsvarer. |
-gå i stykker | Den brukes til å skrive ut en tom linje mellom kampene fra de forskjellige filene. |
-hjelp | Det brukes til å vise alle tilgjengelige alternativer med beskrivelsen av GREP -kommandoen. |
Aktiver GREP -konfigurasjon:
Før du kjører 'Git grep' -kommandoen over denne opplæringen, kjør følgende kommando for å aktivere -Utvidet-Regexp og -n Alternativer for GREP -kommandoen.
$ git config -global grep.utvidesexp sant
$ git config -global grep.Linenumber sann
Bruk av GREP -kommando for å søke:
Et lokalt depot som heter bokhandel har blitt brukt i denne opplæringen for å sjekke utgangen fra GREP -kommandoen for å søke innhold i depotet. Depotet inneholder to filer. Disse er bokliste.PHP og boktype.PHP.
Kjør følgende kommando for å søke i ordet 'Boktype' I depotfilene.
$ git grep 'boktype' $ (git rev -list -all)
Følgende utgang viser at ordet 'Boktype' eksisterer i linje 1 av boktype.PHP fil.
Kjør følgende kommando for å søke i linjene i depotfilene med Commit SHA -verdiene som inneholder 'Boo' Ved starten av filene. Her, -i Alternativet har brukt til case-ufølsom søk.
$ git grep -i 'boo*' $ (git rev -list --all)
Følgende utgang viser det 'Boo' inneholder to filer på linje nummer 1, men oppføringen for bokliste.PHP Filen har dukket opp to ganger for to forpliktelser.
Mønsteret er søkt inne i innholdet i depotfilen i de tidligere kommandoene. Kjør følgende kommando for å søke i innholdet i den aktuelle filen.
$ git grep -f 'booktype.PHP.'
Følgende utgang viser det Boktypen.PHP Fil eksisterer i det nåværende depotet, og filen inneholder en enkelt linje.
Kjør følgende kommando for å søke i mønsteret, 'bok' inne i innholdet i depotfilene. Her har alternativet -e -alternativet brukt til mønstermatching.
$ git grep -e 'bok'
Følgende utgang viser at begge bokliste.PHP og boktype.PHP Filer inneholder ordet 'Bok' på linje nummer 1.
Kjør følgende kommando for å søke på flere mønstre i innholdet i depotfilene. Her har alternativet brukt til Regex -mønstermatching, og røret (|) fungerer som logisk eller. Filene som inneholder ordet 'Bok' eller 'forfatter' vil bli vist etter å ha utført følgende kommando.
$ git grep -e 'bok*| Forfatter.'
Følgende utgang viser at ordet 'forfatter' eksisterer to ganger i forfatterinfo.PHP fil, og ordet 'Bok' eksisterer en gang i bokliste.PHP og boktype.PHP fil.
Konklusjon:
De 'git grep' er en nyttig kommando for å søke i det spesifikke innholdet i Git -depotet. Søkingen kan gjøres på forskjellige måter ved å bruke de forskjellige alternativene til denne kommandoen. Bruken av noen alternativer er beskrevet i denne opplæringen ved å bruke et demo -depot.