Versionsstyring med Git
It A · STX · A-niveau · Avanceret programmering
💻 Versionsstyring med Git
Git (Linus Torvalds, 2005) er det dominerende distribuerede versionsstyringssystem.
Tre tilstande: Working directory (ændringer), Staging area (index, tilføjet med git add), Repository (commitet med git commit).
Grundkommandoer: git init, git clone, git add ., git commit -m "besked", git push origin main, git pull, git status, git log --oneline.
Branching: git branch feature-x, git checkout -b feature-x. Branches er billige i Git (bare en pointer).
Merging vs. Rebasing: git merge bevarer historik; git rebase omskriver historik for ren lineær history.
Git Flow (Vincent Driessen): branches main, develop, feature/, hotfix/, release/*.
Trunk-based development: alle committer til main med feature flags.
GitHub/GitLab/Bitbucket: cloud-hostet Git med Pull Requests (PR), code review, CI/CD-integration.
Konflikthåndtering: ved merge-konflikter: rediger filer, marker løst med git add, fuldfør med git commit. .gitignore: ekskluder filer fra versionsstyring (node_modules, .env, __pycache__).
Git hooks: scripts der kører automatisk ved events (pre-commit: lint, test).
Læringsmål
- Implementere OOP (klasser, arv, polymorfi, enkapsulering)
- Anvende rekursion og memoization
- Implementere og forklare Big-O for centrale datastrukturer
- Implementere merge sort og quicksort
- Anvende BFS og DFS på grafer
Sådan kan du arbejde med emnet
- Opret et lokalt Git-repo, lav tre commits med meningsfulde beskeder, og vis git log
- Simulér et merge-konflikt: lav to branches, rediger samme linje, merge og løs konflikten
- Forklar, hvad git rebase er, og hvad der adskiller det fra git merge
Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis