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.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 arbetskatalogen 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 arbetskatalogen och indexet med --staged --worktree.
Som standard, om --staged anges, återställs innehållet från HEAD, 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 arbetskatalogens 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. Defaults to
diff.contextor 3 if the config option is unset. -
--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 arbetskatalogen 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 arbetskatalogen från indexet, använd steg #2 (
ours) eller #3 (theirs) för icke-sammanslagna sökvägar. Det här alternativet kan inte användas när du checkar ut sökvägar från ett träd-igt (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 arbetskatalogen från indexet, återskapa den konfliktfyllda sammanfogningen i de osammanfogade sökvägarna. Det här alternativet kan inte användas när du checkar ut sökvägar från ett träd-igt (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 arbetskatalogen från indexet, avbryt inte operationen om det finns ej sammanslagna poster och varken
--ours,--theirs,--mergeeller--conflictär angivna. Osammanslagna sökvägar i arbetskatalogen 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 arbetskatalogen, kommer undermodulen bara att uppdateras om detta alternativ anges, i vilket fall dess arbetskatalog 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 arbetskataloger 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ägsspec skickas i <fil> istället för kommandoradsargument. Om <fil> är exakt
-används standardindata. Sökvägsmönster-element separeras med LF eller CR/LF. Sökvägsmönster-element kan citeras enligt beskrivningen för konfigurationsvariabelncore.quotePath(se git-config[1]). Se även--pathspec-file-nuloch global--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 arbetskatalogen, eftersom filglobbing används för att matcha poster i indexet (inte i arbetskatalogen av skalet).
För att återställa alla filer i den aktuella katalogen
$ git restore .
eller för att återställa alla arbetskatalogs-filer med top sökvägsuttrycket (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 arbetskatalogen (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