Git Checkout (Dansk)

Denne side er en undersøgelse af kommandoen git checkout. Det dækker forbrugseksempler og kantsager. I Git-termer er en “checkout” handlingen med at skifte mellem forskellige versioner af en målenhed. git checkout -kommandoen fungerer på tre forskellige enheder: filer, forpligtelser og grene. Ud over definitionen af “checkout” bruges udtrykket “check out” ofte til at antyde handlingen med at udføre kommandoen git checkout. I emnet Undoing Changes så vi, hvordan git checkout kan bruges til at se gamle forpligtelser. Fokus for størstedelen af dette dokument er checkout-operationer på filialer.

Check-out filialer svarer til at tjekke gamle forpligtelser og filer, idet arbejdsmappen opdateres til at matche den valgte gren / revision; dog gemmes nye ændringer i projekthistorikken – det vil sige, det er ikke en skrivebeskyttet handling.

Tjekning af grene

git checkout kommando giver dig mulighed for at navigere mellem de grene, der er oprettet af git branch. Ved at tjekke en gren opdateres filerne i arbejdskataloget, så de svarer til den version, der er gemt i den gren, og det fortæller Git at registrere alle nye forpligtelser på den gren. Tænk på det som en måde at vælge, hvilken udviklingslinje du arbejder på.

At have en dedikeret filial til hver nye funktion er et dramatisk skift fra en traditionel SVN-arbejdsgang. Det gør det latterligt nemt at prøve nye eksperimenter uden frygt for at ødelægge eksisterende funktionalitet, og det gør det muligt at arbejde på mange ikke-relaterede funktioner på samme tid. Derudover letter filialer også flere samarbejdsarbejdsprocesser.

Kommandoen git checkout kan lejlighedsvis forveksles med git clone. Forskellen mellem de to kommandoer er, at klon arbejder for at hente kode fra et eksternt lager, alternativt fungerer checkout for at skifte mellem kodeversioner, der allerede findes på det lokale system.

Anvendelse: Eksisterende grene

Hvis vi antager, at den repo, du arbejder i, indeholder eksisterende grene, kan du skifte mellem disse grene ved hjælp af git checkout. For at finde ud af, hvilke grene der er tilgængelige, og hvad det aktuelle grennavn er, udfør git branch.

 

Ovenstående eksempel viser, hvordan man får vist en liste over tilgængelige grene ved at udføre git branch kommando, og skift til en bestemt gren, i dette tilfælde feature_inprogress_branch.

Nye grene

Git checkout arbejder hånd i hånd med git branch. git branch kommandoen kan bruges til at oprette en ny gren. Når du vil starte en ny funktion, opretter du en ny gren fra ved hjælp af git branch new_branch. Når du er oprettet, kan du derefter bruge git checkout new_branch til at skifte til den gren. Derudover accepterer kommandoen git checkout et -b -argument, der fungerer som en bekvemhedsmetode, der opretter den nye gren og straks skifter til den. Du kan arbejde på flere funktioner i et enkelt lager ved at skifte mellem dem med git checkout.

Ovenstående eksempel opretter og tjekker samtidig . Indstillingen -b er et bekvemmelighedsflag, der fortæller Git at køre git branch inden du kører git checkout .

Som standard git checkout -b baserer new-branch fra nuværende HEAD. En valgfri yderligere filialparameter kan overføres til git checkout. I eksemplet ovenfor overføres , som derefter baserer new-branch fra existing-branch i stedet for den aktuelle HEAD.

Skiftning af grene

Skiftning af grene er en ligetil handling. Udførelse af følgende vil pege HEAD til spidsen af .

Git sporer en historie med checkout-operationer i reflogen. Du kan udføre git reflog for at se historikken.

Git Checkout en ekstern gren

Når du samarbejder med et team, er det almindeligt at bruge fjernbetjening opbevaringssteder. Disse arkiver kan hostes og deles, eller de kan være en anden kollegas lokale kopi. Hvert eksternt arkiv indeholder sit eget sæt grene. For at tjekke en fjernfilial skal du først hente indholdet af grenen.

I moderne versioner af Git kan du derefter tjekke fjerngrenen som en lokal gren.

Ældre versioner af Git kræver oprettelse af en ny gren baseret på remote.

Derudover kan du tjekke en ny lokal filial og nulstille den til de sidste grene til de eksterne grene.

 

Fritliggende HEADS

Nu hvor vi har set de tre vigtigste anvendelser af git checkout på grene, er det vigtigt at diskutere "detached HEAD” tilstand. Husk at HEAD er Gits måde at henvise til det aktuelle øjebliksbillede. Internt er git checkout kommandoen opdaterer simpelthen HEAD for at pege på enten den angivne gren eller begå. Når den peger på en gren, klager Git ikke, men når du tjekker en forpligtelse, er den skifter til en "detached HEAD” -tilstand.

Dette er en advarsel, der fortæller dig, at alt hvad du laver er “løsrevet” fra resten af dit projekts udvikling. Hvis du skulle begynde at udvikle en funktion, mens der i en løsrevet HEAD tilstand, ville der ikke være nogen gren, der giver dig mulighed for at komme tilbage t o det. Når du uundgåeligt tjekker en anden gren (f.eks. For at flette din funktion ind), ville der ikke være nogen måde at henvise til din funktion:

Pointen er, din udvikling skal altid finde sted på en gren – aldrig på en løsrevet HEAD. Dette sikrer, at du altid har en henvisning til dine nye forpligtelser. Men hvis du bare kigger på en gammel forpligtelse, betyder det ikke rigtig, om du er i en fritliggende HEAD tilstand eller ej.

Oversigt

Denne side fokuserede på brugen af kommandoen git checkout, når du skifter filial. Sammenfattende ændrer git checkout, når det bruges på grene, målet for HEAD ref. Det kan bruges til at oprette grene, skifte gren og kasse fjerngrene. git checkout kommandoen er et vigtigt værktøj til standard Git-operation. Det er en modstykke til git merge. git checkout og git merge kommandoerne er vigtige værktøjer til at muliggøre git workflows.

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *