Basis
git status wat is er gewijzigd
git add bestand stagen (git add -p voor stuk-voor-stuk)
git add -A alles stagen
git commit -m "bericht"
git commit --amend laatste commit aanpassen
git log --oneline --graph --all
git diff niet-gestaged git diff --staged gestaged
Branches
git branch lijst
git switch -c feature nieuwe branch + overstappen
git switch main overstappen
git branch -d feature verwijderen (-D forceren)
git merge feature samenvoegen in huidige branch
git rebase main huidige branch herbaseren op main
Remotes
git remote -v
git fetch ophalen zonder mergen
git pull fetch + merge (--rebase voor lineair)
git push pushen
git push -u origin feat eerste push + tracking
git clone url
Ongedaan maken
git restore bestand wijzigingen in werkmap weggooien
git restore --staged bestand unstagen
git reset --soft HEAD~1 laatste commit terug, wijzigingen behouden
git reset --hard HEAD~1 laatste commit + wijzigingen weg (let op!)
git revert <sha> nieuwe commit die een oude ongedaan maakt
git stash / git stash pop tijdelijk wegzetten / terughalen
Inspecteren
git show <sha> commit-details
git blame bestand wie wijzigde welke regel
git log -p bestand geschiedenis met diffs
git reflog alle HEAD-bewegingen (redding bij fouten)
git tag v1.0.0
git tag -a v1.0.0 -m "release" geannoteerd
git push origin v1.0.0