Svenska ▾ Topics ▾ Latest version ▾ git-restore last updated in 2.54.0

NAMN

git-restore - Återställ fungerande trädfiler

SYNOPSIS

git restore [<flaggor>] [--source=<träd>] [--staged] [--worktree] [--] <sökvägsmönster>…​
git restore [<flaggor>] [--source=<träd>] [--staged] [--worktree] --pathspec-from-file=<fil> [--pathspec-file-nul]
git restore (-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 HEAD om --staged anges, 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 är HEAD.

-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.context or 3 if the configuration variable is unset. (-U without <n> is silently accepted as a synonym for -p due 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.interHunkContext eller 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 --quiet anges. 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 git rebase och git pull --rebase kan ours och theirs verka 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 --merge ovan, men ändrar hur de motstridiga styckenerna presenteras och åsidosätter konfigurationsvariabeln merge.conflictStyle. Möjliga värden är merge (standard), diff3 och zdiff3.

--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, --merge eller --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 bort HEAD frå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 konfigurationsvariabeln core.quotePath (se git-config[1]). Se även --pathspec-file-nul och 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)
  1. ta en fil från en annan incheckning

  2. återställ hello.c frå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