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
- 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:
- 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
ddu/git/git_forloeb_branches.txt · Sidst ændret: af 127.0.0.1

