Git holder styr på ændringer i din kode. GitHub er en tjeneste hvor et Git-repository kan ligge online – Git er værktøjet, GitHub er stedet. Se også den uddybende side: Git CLI.
# Nyt projekt: opret repository i mappen
git init
# Hent eksisterende projekt fra GitHub
git clone https://github.com/bruger/projekt.git
# Hvem er jeg? (én gang pr. computer)
git config --global user.name "Mit Navn"
git config --global user.email "mig@mail.dk"
git init laver en skjult .git-mappe, hvor hele historikken gemmes. clone henter en komplet kopi inklusive al historik.
git status # hvad har jeg ændret?
git add fil.txt # vælg fil til commit
git add . # vælg ALLE ændringer
git commit -m "Besked" # gem versionen lokalt
git push # send til GitHub
git pull # hent nye ændringer fra GitHub
add → commit → push. add vælger, commit gemmer lokalt, push sender. status er din bedste ven – kør den ofte.git log --oneline # kompakt historik
git log --oneline -10 # kun de 10 seneste
git diff # ændringer der ikke er staged
git diff --staged # ændringer der ER staged
git show # seneste commit i detaljer
# Kassér ændringer i en fil (før add)
git restore fil.txt
# Fjern fra staging (behold ændringerne)
git restore --staged fil.txt
# Ret seneste commit-besked
git commit --amend -m "Ny besked"
# Gå tilbage til en tidligere version
git checkout abc1234 -- fil.txt
--amend virker kun på det seneste commit og kun hvis du ikke har pushet endnu. Er det pushet, laver du et nyt commit der retter fejlen.
git branch # se alle branches
git checkout -b feature # opret og skift til branch
git checkout main # skift tilbage
# Når feature er færdig:
git checkout main
git merge feature # flyt ændringer ind i main
git branch -d feature # slet den gamle branch
En branch er en parallel version af koden. Arbejd på en feature-branch, og merge ind i main når det virker. main skal altid være stabil.
# Git siger "CONFLICT" ved merge/pull.
# Åbn filen – den ser sådan ud:
<<<<<<< HEAD
min version
=======
deres version
>>>>>>> feature
# 1. Ret filen: behold det rigtige,
# fjern markørerne
# 2. Fortsæt:
git add fil.txt
git commit
Konflikt = Git kan ikke selv vælge. Åbn filen, find <<<<<<<-markørerne, vælg hvad der skal blive, fjern markørerne, add og commit.
# Forbind lokalt repo med GitHub
git remote add origin \\
https://github.com/bruger/projekt.git
# Første push (sætter op -u)
git push -u origin main
# Derefter bare:
git push
git pull
# Se hvor der pushes hen
git remote -v
# Opret filen .gitignore i roden:
bin/
obj/
*.user
.vs/
node_modules/
__pycache__/
*.log
.env
Genererede filer (build-output, pakker, logs, hemmeligheder) hører ikke i Git. For .NET-projekter: dotnet new gitignore laver en passende fil.
git statushvad er ændret?
git add .vælg alle ændringer
git commit -m "..."gem version lokalt
git push / git pullsend / hent fra GitHub
git log --onelinese historik
git checkout -b navnny branch + skift
git merge branchmerge ind i nuværende
git restore filkassér ændringer i fil
git diffse ændringer
git pull før arbejde → konflikt ved push. Hent altid først.git add . medfører alt – også filer der ikke burde være der. Brug .gitignore.<<<<<<<) glemmes i filen → programmet virker ikke. Søg altid efter dem efter merge..gitignore eller environment variables.git status. Det svarer altid.