Frontend Academy · Lektion

Branches: branch checkout merge

Opret feature-branches, skift mellem dem, flet branches tilbage i main, og løs simple mergekonflikter.

Lektion 2 af 413 trin

Branches: branch checkout merge er en gratis Frontend Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Frontend Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Frontend Academy-kurset indeholder 4 lektioner i alt.

Hvorfor bruge grene?

Grene gør det muligt at udvikle flere funktioner og fejlrettelser parallelt, uden at de forstyrrer hinanden. Main (eller master) forbliver stabil, mens igangværende arbejde ligger i featuregrene.

Oplistning og oprettelse af grene

git branch viser grene. git branch name opretter en ny gren. Den nye gren starter ved den aktuelle commit.

git branch             # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branch

Skift mellem grene

git checkout branchname skifter til en eksisterende gren. git checkout -b branchname opretter en gren og skifter til den i ét trin. Den moderne ækvivalent er git switch.

git checkout main           # switch to main
git checkout feature/auth   # switch to existing branch
git checkout -b hotfix/nav  # create + switch

# Modern (git 2.23+):
git switch main
git switch -c feature/auth

Typisk arbejdsgang med grene

1) Skift til main. 2) Hent de nyeste ændringer. 3) Opret en featuregren. 4) Lav commits. 5) Sammenlæg tilbage i main. 6) Slet featuregrenen.

git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-mode

Sammenlægning af grene

git merge branchname indarbejder ændringer fra den navngivne gren i den aktuelle gren. Git forsøger at sammenlægge automatisk. En fast-forward-sammenlægning sker, når historikken er uden forgreninger.

git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linear

Sammenlægningscommits

Når begge grene har udviklet sig hver for sig, opretter Git en sammenlægningscommit med to overordnede commits. Det bevarer hele historikken for begge udviklingslinjer.

Sammenlægningskonflikter

Når den samme fil er blevet ændret i begge grene, kan Git ikke sammenlægge dem automatisk og markerer konflikten. Du redigerer filen for at løse konflikten og laver derefter en commit.

<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming

// After resolving:
const COLOR = 'navy'; // your decision

git add styles.css
git commit

git rebase — Lineær historik

git rebase main afspiller din grens commits oven på den nyeste main og skaber en lineær historik uden sammenlægningscommits. Brug det til featuregrene før sammenlægning, men undgå rebase af delte grene.

git switch feature/auth
git rebase main  # replay commits on top of current main

HEAD — Hvor du er

HEAD er en pegepind til spidsen af den aktuelle gren eller til en bestemt commit i tilstanden detached HEAD. git log viser, hvor HEAD befinder sig. HEAD~1 er den forrige commit, og HEAD~3 er tre commits tilbage.

Midlertidig lagring af igangværende arbejde

git stash gemmer ændringer, der ikke er committet, og går tilbage til et rent arbejdstræ. Brug det, når du skal skifte gren uden at committe ufærdigt arbejde. git stash pop gendanner ændringerne.

git stash           # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop       # restore WIP

Navnekonventioner for grene

Almindelige mønstre er: feature/feature-name, fix/bug-description, hotfix/critical-fix, chore/dependency-update. Ensartede navne gør grenlisten overskuelig.

Hurtigt tjek

Hvilken kommando opretter en ny gren og skifter til den i ét trin?

Opsummering: Git-grene

git branch opretter. git checkout/switch navigerer. git merge sammenlægger. Løs konflikter ved at redigere markeringsblokke. git stash gemmer igangværende arbejde. Brug git rebase til lineær historik. Brug featuregrene til alt nyt arbejde, og hold main stabil. Slet sammenlagte grene for at holde listen overskuelig.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
41
Lektioner
163

Ofte stillede spørgsmål

Er lektionen “Branches: branch checkout merge” gratis?

Ja — hele teksten til “Branches: branch checkout merge” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Frontend Academy-kurset, skal du opgradere til CoddyKit PRO. Frontend Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Branches: branch checkout merge”?

Opret feature-branches, skift mellem dem, flet branches tilbage i main, og løs simple mergekonflikter. Du øver dig i Frontend Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Frontend Academy?

Der kræves ingen tidligere erfaring. Frontend Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Branches: branch checkout merge”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Frontend Academy-lektion?

Ja. Alle Frontend Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. git init add commit og status
  2. Branches: branch checkout merge
  3. Remote repositories: push pull clone
  4. Pull request-workflow på GitHub
← Tilbage til Frontend Academy