Git 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:

  1. Lav ændringer i koden
  2. git add — vælg hvad der skal med i næste commit
  3. git commit — gem snapshot lokalt
  4. git 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?

Spørgsmål 2

Hvad er den korrekte rækkefølge i den daglige Git-workflow?

Spørgsmål 3

Hvad gør git add .?

Spørgsmål 4

Hvad indeholder den skjulte .git-mappe?

Spørgsmål 5

Hvad er formĂĄlet med en .gitignore-fil?

Spørgsmål 6

Hvilken commit-besked følger god praksis?

Spørgsmål 7

Hvad er forskellen pĂĄ Git og GitHub?