git-checkout-index(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '{{manpage|section=1|title=git-checkout-index}} == NAMN == git-checkout-index - Kopiera filer från indexet till arbetskopian == SYNOPSIS == '''git checkout-index''' [-u] [-q] [-a] [-f] [-n] [--prefix=<sträng>] [--stage=<nummer>|all] [--temp] [--ignore-skip-worktree-bits] [-z] [--stdin] [--] [<fil>...] == BESKRIVNING == Kopierar alla listade filer från indexet til...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
== NAMN == | == NAMN == | ||
git-checkout-index - Kopiera filer från indexet till arbetskopian | git-checkout-index - Kopiera filer från indexet till arbetskopian |
Versionen från 10 april 2025 kl. 06.29
NAMN
git-checkout-index - Kopiera filer från indexet till arbetskopian
SYNOPSIS
git checkout-index [-u] [-q] [-a] [-f] [-n] [--prefix=<sträng>]
[--stage=<nummer>|all] [--temp] [--ignore-skip-worktree-bits] [-z] [--stdin] [--] [<fil>...]
BESKRIVNING
Kopierar alla listade filer från indexet till arbetskatalogen (utan att skriva över befintliga filer).
ALTERNATIV
- -u, --index
- Uppdatera statusinformation för de utcheckade posterna i indexfilen.
- -q, --quiet
- Var tyst om filer existerar eller inte finns i indexet.
- -f, --force
- Tvingar överskrivning av befintliga filer.
- -a, --all
- Checkar ut alla filer i indexet förutom de med skip-worktree-biten
satt (se --ignore-skip-worktree-bits). Kan inte användas tillsammans med explicita filnamn.
- -n, --no-create
- Skapa inte nya filer, uppdatera endast filer som redan är utcheckade.
- --prefix=<sträng>
- När filer skapas, lägg till <sträng> i början (vanligtvis en katalog
inklusive ett avslutande /).
- --stage=<nummer>|all
- Istället för att checka ut icke-sammanslagna poster, kopiera ut
filerna från det namngivna steget. <nummer> måste vara mellan 1 och 3. Notera: --stage=all innebär automatiskt --temp.
- --temp
- Istället för att kopiera filerna till arbetskatalogen, skriv innehållet
till temporära filer. Associationerna mellan temporära namn kommer att skrivas till standardutmatningen.
- --ignore-skip-worktree-bits
- Checka ut alla filer, inklusive de med skip-worktree-biten satt.
- --stdin
- Istället för att ta en lista med sökvägar från kommandoraden, läs
listan med sökvägar från standardinmatningen. Sökvägar separeras med LF (dvs. en sökväg per rad) som standard.
- -z
- Endast meningsfullt med --stdin; sökvägar separeras med NUL-tecken
istället för LF.
- --
- Tolka inte fler argument som alternativ.
- Ordningen på de flaggor som användes spelade roll tidigare, men inte
längre.
- Att bara köra git checkout-index gör ingenting. Du menade förmodligen
git checkout-index -a. Och om du vill tvinga det vill du ha git checkout-index -f -a.
- Intuitivitet är inte målet här. Repeterbarhet är det. Anledningen till
beteendet "inga argument betyder inget arbete" är att från skript ska du kunna göra: $ find . -name '*.h' -print0 | xargs -0 git checkout-index -f -- vilket tvingar alla befintliga *.h-filer att ersättas med sina cachade kopior. Om en tom kommandorad innebar "alla" skulle detta tvinga uppdatering av allt i indexet, vilket inte var meningen. Men eftersom git checkout-index accepterar --stdin skulle det vara snabbare att använda: $ find . -name '*.h' -print0 | git checkout-index -f -z --stdin -- är bara en bra idé när du vet att resten kommer att vara filnamn; det kommer att förhindra problem med ett filnamn som till exempel är -a. Att använda -- är förmodligen en bra policy i skript.
ANVÄNDNING AV --TEMP ELLER --STAGE=ALL
När --temp används (eller underförstås av --stage=all) kommer git checkout-index att skapa en temporär fil för varje indexpost som checkas ut. Indexet kommer inte att uppdateras med statusinformation. Dessa alternativ kan vara användbara om anroparen behöver alla steg av alla icke-sammanslagna poster så att de icke-sammanslagna filerna kan bearbetas av ett externt sammanslagningsverktyg.
En lista kommer att skrivas till standardutmatningen som anger associationen mellan temporära filnamn och spårade sökvägsnamn. Listformatet har två varianter:
1. tempnamn TAB sökväg RS Det första formatet används när --stage utelämnas eller inte är --stage=all. Fältet tempnamn är det temporära filnamnet som innehåller filinnehållet och sökväg är det spårade sökvägsnamnet i indexet. Endast de begärda posterna skrivs ut. 2. steg1temp MELLANSLAG steg2temp MELLANSLAG steg3tmp TAB sökväg RS Det andra formatet används när --stage=all används. De tre temporära fälten för steg (steg1temp, steg2temp, steg3temp) listar namnet på den temporära filen om det finns en stegpost i indexet eller . om det inte finns någon stegpost. Sökvägar som endast har en steg 0-post kommer alltid att utelämnas från utmatningen.
I båda formaten är RS (postseparatorn) radmatning som standard men kommer att vara nollbyte om -z skickades på kommandoraden. De temporära filnamnen är alltid säkra strängar; de kommer aldrig att innehålla katalogseparatorer eller blankstegstecken. Sökvägsfältet är alltid relativt till den aktuella katalogen och de temporära filnamnen är alltid relativa till toppnivåkatalogen.
Om objektet som kopieras ut till en temporär fil är en symbolisk länk kommer innehållet i länken att skrivas till en normal fil. Det är upp till slutanvändaren eller Porcelainen att använda denna information.
EXEMPEL
För att uppdatera och endast uppdatera de filer som redan är utcheckade
$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
Använda git checkout-index för att "exportera ett helt träd" Förfixmöjligheten gör det i princip trivialt att använda git checkout-index som en "exportera som träd"-funktion. Läs bara in det önskade trädet i indexet och gör:
$ git checkout-index --prefix=git-export-dir/ -a
git checkout-index kommer att "exportera" indexet till den angivna katalogen. Det avslutande "/" är viktigt. Det exporterade namnet prefixeras bokstavligt med den angivna strängen. Jämför detta med följande exempel. Exportera filer med ett prefix
$ git checkout-index --prefix=.merged- Makefile
Detta kommer att checka ut den aktuellt cachade kopian av Makefile till filen .merged-Makefile.
GIT
Del av git(1)-sviten
KOLOFON
Den här sidan är en del av projektet git (Git distribuerat versionshanteringssystem). Information om projektet finns på <⟨http://git-scm.com/⟩>. Om du har en felrapport för den här manualsidan, se <⟨http://git-scm.com/community⟩>. Den här sidan hämtades från projektets uppströms Git-arkiv <⟨https://github.com/git/git.git⟩> den 2025-02-02. (Vid den tidpunkten var datumet för den senast hittade commiten i arkivet 2025-01-31.) Om du upptäcker några renderingsproblem i den här HTML-versionen av sidan, eller om du tror att det finns en bättre eller mer aktuell källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i den här KOLOFONEN (som *inte* är en del av den ursprungliga manualsidan), skicka ett e-postmeddelande till man-pages@man7.org
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/git-checkout-index.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.