HTX Frederikshavn & Hjørring

Det har aldrig været sjovere at være nørd

Brugerværktøjer

Webstedsværktøjer


ddu:git:git_forloeb_branches

Git Forløb: Branches

Dette forløb introducerer arbejdet med branches i Git. Eleverne skal lære at oprette, skifte mellem, merge og pushe branches, samt forstå workflowet i et versionsstyringssystem.

Læringsmål

  • Eleven kan oprette, liste og navigere mellem branches.
  • Eleven kan merge en feature-branch tilbage til main uden konflikter.
  • Eleven kan forklare, hvorfor man bruger branches i versionsstyring.
  • Eleven kan visualisere commit-historik og branch-struktur.

Teori

  • `git branch <navn>` – opretter en ny branch.
  • `git switch <navn>` – skifter til branch.
  • git switch -c <navn> - opretter ny branch, og skrifter til den.
  • `git merge
    • ` – fletter branch tilbage til hovedbranch.
  • Branches giver mulighed for at arbejde på features eller eksperimenter uden risiko for main.

main branch er den „hellige gral“ som vi, til enhver tid, ønsker at være 100% funktionel. Derfor anvender vi branches til at udvikle nye features eller til at eksperimentere. Er vores feature fri for fejl, kan den merges ind i main branch.

Øvelsesvejledning

1. Opret et repository og initier Git

git init

2. Opret og skift branch

  • Opret ny branch og skift til den:
git switch -c player-attack
  • Skift mellem eksisterende branches:
git switch main
git switch player-attack

3. Lav ændringer og commit

  • Foretag ændringer i filer (fx i Godot-projektet)
  • Commit dine ændringer:
git add .
git commit -m "Tilføjet Attack animation til Player"

4. Visualiser historikken

Det er vigtigt at se, hvordan branches udvikler sig:

git log --oneline --graph --decorate --all

5. Merge tilbage til main

  • Skift til main: `git switch main`
  • Merge: `git merge player-attack`
  • Push til remote: `git push origin main`

6. Refleksionsspørgsmål

  • Hvorfor bruger vi branches i stedet for at arbejde direkte på main?
  • Hvad sker der, hvis to commits ændrer samme linje i en fil?
  • Hvordan kan man undgå merge-konflikter i større projekter?
  • Hvordan kan visualisering af historik hjælpe med at forstå branch-strukturen?

7. Ekstra øvelse: Merge konflikt

  1. Opret branch: `git switch -c feature/a`
  2. Foretag ændringer i samme fil på main og på feature/a
  3. Commit begge ændringer
  4. Merge: `git switch main && git merge feature/a`
  5. Hvis konflikt opstår: løs konflikten, commit og fortsæt
  6. Dokumentér hvad der skete

Branches og workflow til spiludvikling

Mål:

  • Du kan arbejde med branches og forstå et workflow for samarbejde i spilprojekter.
  • Hvorfor: Branches gør det muligt at udvikle nye funktioner uden at påvirke hovedprojektet (main branch).
  • Hvordan: Vi opretter, skifter til og merger branches.

Teori

  • `git branch <navn>` – opretter en ny branch.
  • `git checkout <navn>` – skifter til branch.
  • `git merge <branch>` – fletter branch tilbage til hovedbranch.
  • Branches giver mulighed for at arbejde på features eller eksperimenter uden risiko for main.

Øvelser

  • Opret en branch til nyt spilfeature: `git branch feature-movements`
  • Skift til branchen: `git checkout feature-movements`
  • Lav en ændring i Godot (fx tilføj en ny scriptfil), add og commit.
  • Skift tilbage til main: `git checkout main`
  • Merge din feature: `git merge feature-movements`
  • Push alle branches: `git push origin main`

Checkpoints

  • Din feature-fil er nu i main.
  • `git log –oneline –graph` viser branch og merge.
  • Du kan forklare, hvorfor man bruger branches i projekter med flere udviklere.

Til oversigt

ddu/git/git_forloeb_branches.txt · Sidst ændret: af 127.0.0.1