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
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
2. Opret og skift branch
git switch -c player-attack
git switch main
git switch player-attack
3. Lav ændringer og commit
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
Opret branch: `git switch -c feature/a`
Foretag ændringer i samme fil på main og på feature/a
Commit begge ændringer
Merge: `git switch main && git merge feature/a`
Hvis konflikt opstår: løs konflikten, commit og fortsæt
Dokumentér hvad der skete
Branches og workflow til spiludvikling
Mål:
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