Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.45.1 → 2.53.0 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.38.1 → 2.42.4 no changes
-
2.38.0
2022-10-02
- 2.32.1 → 2.37.7 no changes
-
2.32.0
2021-06-06
- 2.30.1 → 2.31.8 no changes
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 no changes
-
2.29.0
2020-10-19
- 2.27.1 → 2.28.1 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.2 → 2.25.5 no changes
-
2.25.1
2020-02-17
- 2.24.1 → 2.25.0 no changes
-
2.24.0
2019-11-04
- 2.22.1 → 2.23.4 no changes
-
2.22.0
2019-06-07
- 2.20.1 → 2.21.4 no changes
-
2.20.0
2018-12-09
- 2.19.1 → 2.19.6 no changes
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 no changes
-
2.18.0
2018-06-21
- 2.16.6 → 2.17.6 no changes
- 2.15.4 no changes
-
2.14.6
2019-12-06
- 2.13.7 no changes
-
2.12.5
2017-09-22
- 2.10.5 → 2.11.4 no changes
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.7.6 no changes
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
SYNOPSIS
git grep [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]
[-v | --invert-match] [-h|-H] [--full-name]
[-E | --extended-regexp] [-G | --basic-regexp]
[-P | --perl-regexp]
[-F | --fixed-strings] [-n | --line-number] [--column]
[-l | --files-with-matches] [-L | --files-without-match]
[(-O | --open-files-in-pager) [<bläddrare>]]
[-z | --null]
[ -o | --only-matching ] [-c | --count] [--all-match] [-q | --quiet]
[--max-depth <depth>] [--[no-]recursive]
[--color[=<when>] | --no-color]
[--break] [--heading] [-p | --show-function]
[-A <post-context>] [-B <pre-context>] [-C <kontext>]
[-W | --function-context]
[(-m | --max-count) <num>]
[--threads <num>]
[-f <file>] [-e] <pattern>
[--and|--or|--not|(|)|-e <mönster>…]
[--recurse-submodules] [--parent-basename <basnamn>]
[ [--[no-]exclude-standard] [--cached | --untracked | --no-index] | <träd>…]
[--] [<sökvägsspec>…]
BESKRIVNING
Leta efter angivna mönster i de spårade filerna i arbetsträdet, blobbar som är registrerade i indexfilen eller blobbar i givna trädobjekt. Mönster är listor med ett eller flera sökuttryck separerade med radbrytningstecken. En tom sträng som sökuttryck matchar alla rader.
ALTERNATIV
- --cached
-
Istället för att söka efter spårade filer i arbetskatalogen, sök efter blobbar som är registrerade i indexfilen.
- --untracked
-
Förutom att söka i de spårade filerna i arbetskatalogen, sök även i ospårade filer.
- --no-index
-
Sök efter filer i den aktuella katalogen som inte hanteras av Git, eller genom att ignorera att den aktuella katalogen hanteras av Git. Detta liknar i stort sett att köra det vanliga verktyget
grep(1) med dess-r-alternativ specificerat, men med några ytterligare fördelar, som att använda sökvägsmönster-mönster för att begränsa sökvägar; se posten sökvägsmönster i gitglossary[7] för mer information.Det här alternativet kan inte användas tillsammans med
--cachedeller--untracked. Se ävengrep.fallbackToNoIndexi KONFIGURATION nedan. - --no-exclude-standard
-
Sök även i ignorerade filer genom att inte använda
.gitignore-mekanismen. Endast användbart med--untracked. - --exclude-standard
-
Uppmärksamma inte ignorerade filer som anges via
.gitignore-mekanismen. Endast användbart när du söker efter filer i den aktuella katalogen med--no-index. - --recurse-submodules
-
Sök rekursivt i varje undermodul som är aktiv och utcheckad i arkivet. När den används i kombination med alternativet <träd> kommer prefixet för all undermodulutdata att vara namnet på det överordnade projektets <träd>-objekt. Detta alternativ kan inte användas tillsammans med
--untracked, och det har ingen effekt om--no-indexanges. - -a
- --text
-
Bearbeta binära filer som om de vore text.
- --textconv
-
Respektera textconv filterinställningar.
- --no-textconv
-
Använd inte textconv-filterinställningarna. Detta är standardinställningen.
- -i
- --ignore-case
-
Ignorera skillnader i gemener och versaler mellan mönstren och filerna.
- -I
-
Matchar inte mönstret i binära filer.
- --max-depth <djup>
-
För varje <sökvägsmönster> som anges på kommandoraden, gå ner högst <djup>-nivåer i kataloger. Värdet -1 betyder ingen gräns. Detta alternativ ignoreras om <sökvägsmönster> innehåller aktiva jokertecken. Med andra ord, om "a*" matchar en katalog med namnet "a*", matchas "*" bokstavligt så --max-depth är fortfarande effektivt.
- -r
- --recursive
-
Samma som
--max-depth=-1; detta är standard. - --no-recursive
-
Samma som
--max-depth=0. - -w
- --word-regexp
-
Matcha mönstret endast vid ordgränsen (antingen börja i början av en rad, eller föregås av ett icke-ordtecken; sluta i slutet av en rad eller följt av ett icke-ordtecken).
- -v
- --invert-match
-
Välj rader som inte matchar.
- -h
- -H
-
Som standard, visar kommandot filnamnet för varje matchning. Alternativet
-hanvänds för att undertrycka denna utdata.-Hfinns där för fullständighetens skull och gör ingenting förutom att det åsidosätter-hsom angavs tidigare på kommandoraden. - --full-name
-
När kommandot körs från en underkatalog, matar det vanligtvis ut sökvägar i förhållande till den aktuella katalogen. Det här alternativet tvingar att sökvägar matas ut i förhållande till projektets översta katalog.
- -E
- --extended-regexp
- -G
- --basic-regexp
-
Använd POSIX utökad/grundläggande regexp för mönster. Standardinställningen är att använda grundläggande regexp.
- -P
- --perl-regexp
-
Använd Perl-kompatibla reguljära uttryck för mönster.
Stöd för den här typen av reguljära uttryck är ett valfritt kompilerings-tids beroende. Om Git inte kompilerades med stöd för dem kommer det att dö om det här alternativet anges.
- -F
- --fixed-strings
-
Använd fasta strängar för mönster (tolka inte mönster som ett regex).
- -n
- --line-number
-
Lägg till radnumret som prefix till matchande rader.
- --column
-
Prefixera den 1-indexerade byte-offseten för den första matchningen från början av matchningsraden.
- -l
- --files-with-matches
- --name-only
- -L
- --files-without-match
-
Istället för att visa alla matchande rader, visa bara namnen på filer som innehåller (eller inte innehåller) matchningar. För bättre kompatibilitet med git diff är
--name-onlyen synonym för--files-with-matches. - -O[<bläddrare>]
- --open-files-in-pager[=<bläddrare>]
-
Öppna de matchande filerna i bläddrareen (inte utdata från grep). Om bläddraren råkar vara "less" eller "vi", och användaren bara angav ett mönster, placeras den första filen automatiskt vid den första matchningen. Argumentet bläddrare är valfritt; om det anges måste det fästas vid alternativet utan mellanslag. Om bläddrare inte är angivet kommer standard-bläddraren att användas (se
core.pageri git-config[1]). - -z
- --null
-
Använd \0 som avgränsare för sökvägar i utdata och skriv ut dem ordagrant. Utan detta alternativ citeras sökvägar med "ovanliga" tecken enligt beskrivningen för konfigurationsvariabeln
core.quotePath(se git-config[1]). - -o
- --only-matching
-
Skriv endast ut de matchande (icke-tomma) delarna av en matchande rad, med varje sådan del på en separat utdatarad.
- -c
- --count
-
Istället för att visa varje matchande rad, visa antalet rader som matchar.
- --color[=<när>]
-
Visa färgade matchningar. Värdet måste vara alltid (standard), aldrig eller automatiskt.
- --no-color
-
Stäng av matchningsmarkering, även när konfigurationsfilen anger standardinställningen färg utdata. Samma som
--color=never. - --break
-
Skriv ut en tom rad mellan träffar från olika filer.
- --heading
-
Visa filnamnet ovanför träffarna i den filen istället för i början av varje rad som visas.
- -p
- --show-function
-
Visa föregående rad som innehåller matchningens funktionsnamn, såvida inte matchande rad är ett funktionsnamn i sig. Namnet bestäms på samma sätt som
gitdiffräknar ut patch-styckes-huvuden (se Definiera en anpassade styckes-huvuden i gitattributes[5]). - -<num>
- -C <num>
- --context <num>
-
Visa <num> inledande och efterföljande rader, och placera en rad som innehåller
--mellan sammanhängande grupper av träffar. - -A <num>
- --after-context <num>
-
Visa <num> efterföljande rader, och placera en rad som innehåller
--mellan sammanhängande grupper av träffar. - -B <num>
- --before-context <num>
-
Visa <num> inledande rader, och placera en rad som innehåller
--mellan sammanhängande grupper av träffar. - -W
- --function-context
-
Visa den omgivande texten från föregående rad som innehåller ett funktionsnamn upp till den före nästa funktionsnamn, vilket effektivt visar hela funktionen där matchningen hittades. Funktionsnamnen bestäms på samma sätt som
gitdiffräknar ut patch-styckes-huvuden (se Definiera en anpassade styckes-huvuden i gitattributes[5]). - -m <num>
- --max-count <num>
-
Begränsa antalet träffar per fil. När alternativen
-veller--invert-matchanvänds, stoppas sökningen efter det angivna antalet icke-träffar. Värdet -1 returnerar obegränsade resultat (standardvärdet). Värdet 0 avslutas omedelbart med en status som inte är noll. - --threads <num>
-
Antal
grep-arbetstrådar att använda. Se ANMÄRKNINGAR OM TRÅDAR ochgrep.threadsi KONFIGURATION för mer information. - -f <fil>
-
Läs mönster från <fil>, en per rad.
Att skicka mönstret via <fil> möjliggör att ett sökmönster som innehåller \0 kan tillhandahållas.
Inte alla mönstertyper stöder mönster som innehåller \0. Git kommer att fallera ut om en given mönstertyp inte kan stödja ett sådant mönster. Mönstertypen
--perl-regexphar, när den kompileras mot PCRE v2-backend, det bredaste stödet för dessa typer av mönster.I versioner av Git före 2.23.0 skulle mönster som innehöll \0 i tysthet anses vara fasta. Detta dokumenterades aldrig, det fanns också udda och odokumenterade interaktioner mellan t.ex. icke-ASCII-mönster som innehöll \0 och
--ignore-case.I framtida versioner kan vi lära oss att stödja mönster som innehåller \0 för fler sök-bakändor, fram till dess kommer vi att dö när mönstertypen i fråga inte stöder dem.
- -e
-
Nästa parameter är mönstret. Detta alternativ måste användas för mönster som börjar med
-och bör användas i skript som skickar användarinmatning till grep. Flera mönster kombineras med or (eller). - --and
- --or
- --not
- ( … )
-
Ange hur flera mönster kombineras med hjälp av booleska uttryck.
--orär standardoperatorn.--and(och) har högre prioritet än--or.-emåste användas för alla mönster. - --all-match
-
När flera mönsteruttryck kombineras med
--oranges, anges den här flaggan för att begränsa matchningen till filer som har rader som matchar alla. - -q
- --quiet
-
Skriv inte ut matchande rader; avsluta istället med status 0 när det finns en matchning och med status som inte är noll när det inte finns någon.
- <träd>…
-
Istället för att söka efter spårade filer i arbetskatalogen, sök efter blobbar i de angivna träden.
- --
-
Signalerar slutet på alternativen; resten av parametrarna är <sökvägsmönster>-begränsare.
- <sökvägsmönster>…
-
Om angivet, begränsa sökningen till sökvägar som matchar minst ett mönster. Både inledande sökvägar matchar och glob(7)-mönster stöds.
För mer information om syntaxen <sökvägsmönster>, se posten sökvägsmönster i gitglossary[7].
EXEMPEL
-
gitgreptime_t'--*.[ch] -
Söker efter
time_ti alla spårade .c- och .h-filer i arbetskatalogen och dess underkataloger. - git grep -e '#define' --and \( -e MAX_PATH -e PATH_MAX \)
-
Letar efter en rad som har
#defineoch antingenMAX_PATHellerPATH_MAX. -
gitgrep--all-match-eNODE-eUnexpected -
Söker efter en rad som innehåller
NODEeller Oväntat i filer som har rader som matchar båda. -
gitgrepsolution--:^Documentation -
Söker efter lösning, exklusive filer i
Dokumentation.
ANTECKNINGAR OM TRÅDAR
Alternativet --threads (och konfigurationen grep.threads) ignoreras när --open-files-in-pager används, vilket tvingar fram en enkeltrådad exekvering.
När man använder grep på objektlagret (med --cached eller med trädobjekt), kan det vara långsammare att köra med flera trådar än med en enda tråd om --textconv anges och det finns för många textkonverteringar. Om låg prestanda upplevs i detta fall kan det därför vara önskvärt att använda --threads=1.
KONFIGURATION
Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:
|
Warning
|
Missing See original version for this content. |
GIT
En del av git[1]-sviten