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.54.0
2026-04-20
- 2.51.1 → 2.53.0 no changes
-
2.51.0
2025-08-18
- 2.50.1 no changes
- 2.50.0 no changes
- 2.49.1 no changes
-
2.49.0
2025-03-14
- 2.43.1 → 2.48.2 no changes
-
2.43.0
2023-11-20
- 2.35.1 → 2.42.4 no changes
-
2.35.0
2022-01-24
- 2.30.1 → 2.34.8 no changes
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.25.1 → 2.26.3 no changes
-
2.25.0
2020-01-13
- 2.23.1 → 2.24.4 no changes
-
2.23.0
2019-08-16
SYNOPSIS
gitrestore[<flaggor>] [--source=<träd>] [--staged] [--worktree] [--] <sökvägsmönster>…gitrestore[<flaggor>] [--source=<träd>] [--staged] [--worktree]--pathspec-from-file=<fil> [--pathspec-file-nul]gitrestore(-p|--patch) [<flaggor>] [--source=<träd>] [--staged] [--worktree] [--] [<sökvägsmönster>…]
BESKRIVNING
Återställ angivna sökvägar i arbetsträdet med innehåll från en återställningskälla. Om en sökväg spåras men inte finns i återställningskällan, tas den bort så att den matchar källan.
Kommandot kan också användas för att återställa innehållet i indexet med --staged, eller återställa både arbetsträdet och indexet med --staged --worktree.
Som standard återställs innehållet från HEAD om --staged anges; annars från indexet. Använd --source för att återställa från en annan incheckning.
Se "Nollställ, återställ och ångra" i git[1] för skillnaderna mellan de tre kommandona.
ALTERNATIV
-
-s<träd> -
--source=<träd> -
Återställ arbetsträdets filer med innehållet från det givna trädet. Det är vanligt att ange källträdet genom att namnge en incheckning, gren eller tagg som är associerad med det.
Om inget anges, återställs innehållet från
HEADom--stagedanges, annars från indexet.Som ett specialfall, kan du använda
"<rev-A>...<rev-B>"som en genväg för sammanslagningsbasen för <rev-A> och <rev-B> om det finns exakt en sammanslagningsbas. Du kan utelämna högst en av <rev-A>_ och <rev-B>, i vilket fall standardvärdet ärHEAD. -
-p -
--patch -
Välj interaktivt stycken i skillnaden mellan återställningskällan och återställningsplatsen. Se avsnittet "Interaktivt läge" i git-add[1] för att lära dig hur man använder
--patch-läget. -
-U<n> -
--unified=<n> -
Generate diffs with <n> lines of context. The number of context lines defaults to
diff.contextor 3 if the configuration variable is unset. (-Uwithout <n> is silently accepted as a synonym for-pdue to a historical accident). -
--inter-hunk-context=<n> -
Visar sammanhanget mellan olika stycken, upp till det angivna <antal> rader, och sammanfogar därmed stycken som ligger nära varandra. Standardvärdet är
diff.interHunkContexteller 0 om konfigurationsalternativet inte är inställt.
-
-W -
--worktree -
-S -
--staged -
Ange återställningsplatsen. Om ingetdera alternativet anges återställs arbetsträdet som standard. Om du anger
--stagedåterställs endast indexet. Om du anger båda återställs båda. -
-q -
--quiet -
Tyst, undertryck återkopplingsmeddelanden. Innebär
--no-progress. -
--progress -
--no-progress -
Förloppsstatus rapporteras som standard i standardfelströmmen när den är ansluten till en terminal, såvida inte
--quietanges. Denna flagga aktiverar förloppsrapportering även om den inte är ansluten till en terminal, oavsett--quiet. -
--ours -
--theirs -
När du återställer filer i arbetsträdet från indexet, använd steg #2 (
ours) eller #3 (theirs) för ej sammanfogade sökvägar. Det här alternativet kan inte användas när du checkar ut sökvägar från ett trädlikt objekt (dvs. med alternativet--source).Observera att under
gitrebaseochgitpull--rebasekanoursochtheirsverka omväxlande. Se förklaringen av samma alternativ i git-checkout[1] för mer information. -
-m -
--merge -
När du återställer filer i arbetsträdet från indexet, återskapa den konfliktfyllda sammanfogningen i de ej sammanfogade sökvägarna. Det här alternativet kan inte användas när du checkar ut sökvägar från ett trädlikt objekt (dvs. med alternativet
--source). -
--conflict=<stil> -
Samma som alternativet
--mergeovan, men ändrar hur de motstridiga styckenerna presenteras och åsidosätter konfigurationsvariabelnmerge.conflictStyle. Möjliga värden ärmerge(standard),diff3ochzdiff3. -
--ignore-unmerged -
När du återställer filer i arbetsträdet från indexet, avbryt inte operationen om det finns ej sammanslagna poster och varken
--ours,--theirs,--mergeeller--conflictär angivna. Ej sammanfogade sökvägar i arbetsträdet lämnas oförändrade. -
--ignore-skip-worktree-bits -
I glest checkout-läge är standardinställningen att endast uppdatera poster som matchas av <sökvägsmönster> och glest-mönster i
$GIT_DIR/info/sparse-checkout. Det här alternativet ignorerar de glest-mönstren och återställer villkorslöst alla filer i <sökvägsmönster>. -
--recurse-submodules -
--no-recurse-submodules -
Om <sökvägsmönster> namnger en aktiv undermodul och återställningsplatsen inkluderar arbetsträdet, kommer undermodulen bara att uppdateras om detta alternativ anges, i vilket fall dess arbetsträd kommer att återställas till incheckningen som registrerats i superprojektet, och eventuella lokala modifieringar skrivs över. Om ingenting (eller
--no-recurse-submodules) används, kommer inte undermodulernas arbetsträd att uppdateras. Precis som git-checkout[1] kommer detta att koppla bortHEADfrån undermodulen. -
--overlay -
--no-overlay -
I överlagringsläge, ta aldrig bort filer vid återställning. I läge utan överlagring, ta bort spårade filer som inte visas i <träd> för
--source=<träd>, så att de matchar <träd> exakt. Standardinställningen är läge utan överlagring. -
--pathspec-from-file=<fil> -
Sökvägsmönster skickas i <fil> i stället för kommandoradsargument. Om <fil> är exakt
-används standardindata. Sökvägsmönster separeras med LF eller CR/LF. Sökvägsmönster kan citeras enligt beskrivningen för konfigurationsvariabelncore.quotePath(se git-config[1]). Se även--pathspec-file-nuloch globala--literal-pathspecs. -
--pathspec-file-nul -
Endast meningsfullt med
--pathspec-from-file. Sökvägsmönsterposter separeras med tecknet NUL och alla andra tecken tolkas bokstavligt (inklusive radbrytningar och citattecken). -
-- -
Tolka inte fler argument som alternativ.
- <sökvägsmönster>...
-
Begränsar de sökvägar som påverkas av operationen.
För mer information, se posten sökvägsmönster i gitglossary[7].
EXEMPEL
Följande sekvens växlar till grenen master, återställer Makefile till två versioner bakåt, tar bort hello.c av misstag och hämtar tillbaka den från indexet.
$ git switch master $ git restore --source master~2 Makefile (1) $ rm -f hello.c $ git restore hello.c (2)
-
ta en fil från en annan incheckning
-
återställ
hello.cfrån indexet
Om du vill återställa alla C-källfiler så att de matchar versionen i indexet kan du säga
$ git restore '*.c'
Observera citattecknen runt *.c. Filen hello.c kommer också att återställas, även om den inte längre finns i arbetsträdet, eftersom filglobbing används för att matcha poster i indexet (inte i arbetsträdet av skalet).
För att återställa alla filer i den aktuella katalogen
$ git restore .
eller för att återställa alla filer i arbetsträdet med top sökvägsmönstret (se gitglossary[7])
$ git restore :/
För att återställa en fil i indexet så att den matchar versionen i HEAD (detta är samma sak som att använda git-reset[1])
$ git restore --staged hello.c
eller så kan du återställa både indexet och arbetsträdet (detta är samma sak som att använda git-checkout[1])
$ git restore --source=HEAD --staged --worktree hello.c
eller den korta formen som är mer praktisk men mindre läsbar:
$ git restore -s@ -SW hello.c
GIT
En del av git[1]-sviten