Git — Introduction
Præsenter som slidesGit intro
Git er et versionsstyringssystem — det gemmer historik over alle ændringer i din kode, så du kan gå tilbage, sammenligne og samarbejde uden at overskrive hinandens arbejde.
Hvad er versionsstyring?
Uden versionsstyring ender filnavne som projekt_final_v2_RIGTIG.psd. Git løser det ved at gemme snapshots (commits) af hele projektet med tidspunkt og besked.
Fordele:
- Se præcis hvad der blev ændret og hvornår
- GĂĄ tilbage til en tidligere version uden at miste nyere arbejde
- Samarbejd i team uden at sende zip-filer frem og tilbage
- Arbejd pĂĄ features parallelt via branches
Git kører lokalt på din maskine. GitHub er en cloud-tjeneste, der hoster Git-repositories og tilføjer pull requests, issues og samarbejde.
Grundlæggende Git-kommandoer
De fire kommandoer du bruger dagligt:
git init # opret nyt repository i mappen
git add . # stage alle ændrede filer
git commit -m "besked" # gem snapshot med besked
git push # upload commits til GitHub
Workflow:
- Lav ændringer i koden
git add— vælg hvad der skal med i næste commitgit commit— gem snapshot lokaltgit push— send til GitHub
Med GitHub Desktop kan du gøre det samme grafisk: ændringer vises i venstre panel, skriv commit-besked, klik Commit, derefter Push.
Commit ofte med tydelige beskeder — det gør det nemt at finde tilbage i historikken.
Commit-beskeder og god praksis
En commit-besked forklarer hvad og hvorfor — ikke bare at der er ændret:
| DĂĄrlig | Bedre |
|---|---|
fix |
fix: ret division by zero i CalculateAverage |
asdf |
feat: tilfoej validering af brugerinput |
update |
docs: opdater readme med installationsvejledning |
Tips:
- Commit efter hver logisk ændring — ikke én kæmpe commit i ugevis
- Test at koden kører før du committer
- Brug dansk eller engelsk konsekvent — bland ikke i samme repo
Git-trin
- Branch:
main - Commit:
docs: tilfoej readme
Push dit projekt til GitHub efter hver logisk ændring.
Repository og .git-mappen
Når du kører git init, oprettes en skjult .git-mappe. Den indeholder hele historikken — slet aldrig denne mappe.
Et repository (repo) er din projektmappe + .git. Du kloner et repo fra GitHub for at fĂĄ en kopi:
git clone https://github.com/Mercantech/GF2-CSharp
.gitignore er en fil, der fortæller Git hvilke filer den skal ignorere — fx bin/, obj/, .vs/ (build-output og IDE-filer). Visual Studio opretter typisk .gitignore automatisk.
Du bruger Git sammen med GitHub Desktop og dit repo GF2-CSharp.
Status, diff og historik
Disse kommandoer hjælper dig med at forstå, hvad der er sket:
git status # hvilke filer er ændret/staged?
git diff # præcis hvad er ændret i filerne?
git log # liste over commits
git log --oneline # kompakt historik
I GitHub Desktop vises ændringer visuelt — grøn for tilføjet, rød for fjernet. Brug git status før du committer, så du ved præcis, hvad der kommer med.
Test din viden
Spørgsmål 1
Hvad er formĂĄlet med Git?
Git er et versionsstyringssystem — det gemmer snapshots (commits) af dit projekt, så du kan gå tilbage, sammenligne og arbejde sammen i team.
Spørgsmål 2
Hvad er den korrekte rækkefølge i den daglige Git-workflow?
Først laver du ændringer, så git add (stage), git commit (gem lokalt), og til sidst git push (upload til GitHub).
Spørgsmål 3
Hvad gør git add .?
git add vælger, hvad der skal med i næste commit. . betyder alle ændringer i mappen. Uden add kommer ændringerne ikke med i commit.
Spørgsmål 4
Hvad indeholder den skjulte .git-mappe?
.git oprettes ved git init og gemmer al commit-historik. Sletter du den, mister du versionsstyringen for projektet.
Spørgsmål 5
Hvad er formĂĄlet med en .gitignore-fil?
.gitignore holder build-output og IDE-filer ude af repoet — så I ikke committer unødvendige eller store filer.
Spørgsmål 6
Hvilken commit-besked følger god praksis?
En god besked forklarer hvad der ændredes og hvorfor — fx feat:, fix:, docs:. Vage beskeder som fix eller update gør historikken ubrugelig.
Spørgsmål 7
Hvad er forskellen pĂĄ Git og GitHub?
Git er værktøjet på din maskine. GitHub er en platform, hvor du pusher commits, samarbejder og laver pull requests.