-q –quiet
tyst, undertrycka feedback meddelanden.
–progress –no-progress
Progress status rapporteras på standardfelströmmen som standard när den är ansluten till en terminal, såvida inte --quiet
anges. Denna flagga möjliggör framstegsrapportering även om den inte är ansluten till en terminal, oavsett --quiet
.
-f –force
När du byter grenar, fortsätt även om indexet eller arbetsträdet skiljer sig från HEAD
. Detta används för att kasta bortlokala förändringar.
När du checkar ut sökvägar från indexet, misslyckas inte vid unmergedentries; istället ignoreras unmerged-poster.
– vår-deras
när du checkar ut vägar från indexet, kolla in steg #2(Vår) eller #3 (Deras) för unmerged paths.
Observera att under git rebase
och git pull --rebase
kan våra andteirs visas bytte; --ours
ger versionen från thebranch ändringarna återbaseras på, medan --theirs
gerversion från filialen som håller ditt arbete som omarbetas.
detta beror på att rebase
används i ett arbetsflöde som behandlar historien på fjärrkontrollen som den delade kanoniska, och behandlar arbetet på den gren du rebaserar som tredjepartsarbetet tobe integrerat, och du antar tillfälligt rollen som den kanoniska historiens ägare under rebase. Som innehavare av den kanoniska historien måste du se historiken från fjärrkontrollerna ours
(dvs. ”vår delade kanoniska historia”), medan vad du gjorde på din sidogren som theirs
(dvs. ”en bidragsgivares arbete på topav det”).
-b <new_branch>
skapa en ny filial med namnet <new_branch>
och starta den på<start_point>
; se git-branch för detaljer.
– B <new_branch>- t –track
När du skapar en ny filial ställer du in” uppströms ” – konfiguration. Se” — track ” i git-branch för mer information.
Om alternativet-b
anges, kommer namnet på den nya filialen att hämtas från fjärrspårningsgrenen genom att titta på den lokala delen av refspec konfigurerad för motsvarande fjärrkontroll och sedan strippingden första delen upp till ”*”.Detta skulle berätta för oss att använda hack
som den lokala filialen när branchingoff av origin/hack
(eller remotes/origin/hack
, eller till och medrefs/remotes/origin/hack
). Om det angivna namnet inte har något snedstreck, eller ovanståendeguessing resulterar i ett tomt namn, gissningen avbryts. Du kan uttryckligen ge ett namn med -b
I ett sådant fall.
–no-track
Ställ inte in konfigurationen” uppströms”, även om inställningsvariabelnbranch.autoSetupMerge
är sann.
–guess –no-guess
om<branch>
inte hittas men det finns en trackingbranch i exakt en fjärrkontroll (kalla det<remote>
) med amatching namn, behandla som likvärdig med
$ git checkout -b <branch> --track <remote>/<branch>
om filialen finns i flera fjärrkontroller och en av dem heter bythecheckout.defaultRemote
konfigurationsvariabel, använder vi den för disambiguering, även om<branch>
isn ’ tunique över alla fjärrkontroller. Sätt den tå.g. checkout.defaultRemote=origin
att alltid kassan remotebranches därifrån om <branch>
är tvetydig men finns på theorigin remote. Se även checkout.defaultRemote
ingit-config.
--guess
är standardbeteendet. Använd --no-guess
för att inaktivera det.
standardbeteendet kan ställas in via checkout.guess
konfigurationvariabel.
– l
skapa den nya filialens reflog; se git-branch fordetails.
-d –lossa
i stället för att kolla in en filial för att arbeta med den, kolla in acommit för inspektion och kasserbara experiment.Detta är standardbeteendet för git checkout <commit>
när<commit>
inte är ett filialnamn. Se avsnittet” fristående Huvud ” nedan för detaljer.
–orphan <new_branch >
skapa en ny orphan-gren med namnet <new_branch>
, startade från<start_point>
och byt till den. Det första åtagandet som gjorts på denna nya gren kommer inte att ha några föräldrar och det kommer att vara roten till en ny historia som helt kopplas bort från alla andra grenar ochbesluter.
indexet och arbetsträdet justeras som om du tidigare hade körtgit checkout <start_point>
. Detta låter dig starta en ny historiasom registrerar en uppsättning sökvägar som liknar <start_point>
genom att enkelt köragit commit -a
för att göra root commit.
detta kan vara användbart när du vill publicera trädet från ett åtagande utan att avslöja dess fullständiga Historik. Du kanske vill göra detta för att publiceraen öppen källkods gren av ett projekt vars nuvarande träd är ”rent”, men vars fullständiga Historik innehåller proprietära eller på annat sätt belastade bitar avkod.
Om du vill starta en frånkopplad historik som registrerar en uppsättning sökvägar som är helt annorlunda än den av <start_point>
, bör durensa indexet och arbetsträdet direkt efter att du skapat orphanbranch genom att köra git rm -rf .
från arbetsträdets översta nivå.Efteråt kommer du att vara redo att förbereda dina nya filer, repopuleraarbetsträd, genom att kopiera dem från andra håll, extrahera en tarball etc.
–ignore-skip-worktree-bits
i glesa kassan läge,git checkout -- <paths>
wouldupdate endast poster matchas med<paths>
och glesa patternsin$GIT_DIR/info/sparse-checkout
. Det här alternativet ignorerar glesa mönster och lägger tillbaka alla filer i <paths>
.
-m –merge
När du byter grenar, om du har lokala ändringar till en eller flera filer somskiljer sig mellan den aktuella filialen och filialen tillsom du byter, vägrar kommandot att byta grenar för att bevara dina ändringar i sammanhang.Men med det här alternativet, en trevägs sammanslagning mellan nuvarandegren, ditt arbetsträdinnehåll och den nya grenenär klar, och du kommer att vara på den nya filialen.
När en sammanslagningskonflikt inträffar lämnas indexposterna för konfliktvägar osammanhängande, och du måste lösa konflikteroch markera de lösta sökvägarna med git add
(eller git rm
om sammanslagningen skulle resultera i radering av sökvägen).
När du checkar ut sökvägar från indexet kan du återskapa den motstridiga sammanslagningen i de angivna sökvägarna.
När du byter grenar med--merge
kan iscensatta ändringar gå förlorade.
–conflict=<style>
samma som--merge
alternativet ovan, men ändrar sättet theconflicting hunks presenteras, åsidosättermerge.conflictStyle
konfigurationsvariabel. Möjliga värden är ” merge ”(standard) och” diff3″(förutom vad som visas med” merge ” stil, visar det ursprungliga innehållet).
-p –patch
interaktivt välja hunks i skillnaden mellan <tree-ish>
(eller indexet, om ospecificerat) och workingtree. De valda hunkarna appliceras sedan bakåt påarbetsträdet (och om ett <tree-ish>
specificerades, indexet).
detta innebär att du kan använda git checkout -p
för att selektivt kasseradedits från ditt nuvarande arbetsträd. Se avsnittet ”interaktivt läge”i git-add för att lära dig hur du använder --patch
– läget.
Observera att det här alternativet använder no overlay-läget som Standard (Se även--overlay
) och stöder för närvarande inte overlay-läge.
–ignore-other-worktrees
git checkout
vägrar när den önskade ref redan är utcheckad av en annan arbetsträd. Det här alternativet gör det kontrollera refout ändå. Med andra ord kan ref hållas av mer än enarbetsträd.
-Skriv över-ignorera-Nej-Skriv över-ignorera
skriv tyst över ignorerade filer när du byter grenar. Detta är standardbeteendet. Använd --no-overwrite-ignore
för att avbrytaoperationen när den nya filialen innehåller ignorerade filer.
–recurse-submodules — no-recurse-submodules
använda --recurse-submodules
uppdaterar innehållet i alla activesubmodules enligt begå inspelad i superprojektet. Iflocal ändringar i en submodule skulle skrivas över checkout kommer att misslyckas om -f
används. Om ingenting (eller --no-recurse-submodules
)används, uppdateras inte submodules working trees.Precis som git-submodule kommer detta att lossna HEAD
of thesubmodule.
–overlay –no-overlay
i standardöverlagringsläget git checkout
neverremoves filer från indexet eller arbetsträdet. Whenspecificating--no-overlay
, filer som visas i index andworking tree, men inte i<tree-ish>
tas bort, för att göra demmatch<tree-ish>
exakt.
–pathspec-from-file = <file>
Pathspec skickas i <file>
istället för kommandorad args. Om<file>
är exakt -
används standardinmatning. Pathspecelements separeras av LF eller CR/LF. Pathspec-element kan citeras som förklaras för konfigurationsvariabeln core.quotePath
(se git-config). Se även --pathspec-file-nul
andglobal --literal-pathspecs
.
–pathspec-file-nul
endast meningsfullt med --pathspec-from-file
. Pathspec-element ärseparerade med NUL-tecken och alla andra tecken tasbokstavligen (inklusive nyrader och citat).
<branch>
Branch to checkout; om det hänvisar till en filial (dvs. ett namn som, när det är prepended med ”refs/ heads/”, är en giltig ref), checkas thatbranch ut. Annars, om det hänvisar till ett validcommit, blir ditt HEAD
”fristående” och du är inte längre på någon gren (se nedan för detaljer).
som ett speciellt fall kan du använda A...B
som en genväg för themerge-basen av A
och B
om det finns exakt en sammanfogningsbas. Du kanlämna högst en av A
och B
, I vilket fall det är standard HEAD
.
<new_branch>
namn på den nya filialen.
<start_point>
namnet på ett åtagande för att starta den nya filialen; seegit-filial för detaljer. Standardvärdet är HEAD
.
som ett speciellt fall kan du använda "A...B"
som en genväg för themerge-basen av A
och B
om det finns exakt en sammanfogningsbas. Du kanlämna högst en av A
och B
, I vilket fall det är standard HEAD
.
<tree-ish>
träd till kassan från (när sökvägar ges). Om det inte anges kommer indexet att användas.
som ett speciellt fall kan du använda "A...B"
som en genväg för themerge-basen av A
och B
om det finns exakt en sammanfogningsbas. Du kanlämna högst en av A
och B
, I vilket fall det är standard HEAD
.
—
tolka inte fler argument som alternativ.
<pathspec>…
begränsar de vägar som påverkas av operationen.
För mer information, se posten pathspec i gitglossary.