Git-spiekbriefje
Een doorzoekbaar, afdrukbaar Git-naslagwerk — config, branches, mergen, rebasen, remotes, stashen, tags en wijzigingen ongedaan maken. Gratis.
Setup & configuratie
10git config --global user.name "Jane Doe"
Stel de naam in die aan je commits wordt gekoppeld
git config --global user.email "jane@example.com"
Stel het e-mailadres in dat aan je commits wordt gekoppeld
git config --global init.defaultBranch main
Laat nieuwe repos starten op een "main"-branch
git config --global core.editor "code --wait"
Gebruik VS Code als standaard Git-editor
git config --global pull.rebase true
Rebase in plaats van merge bij pullen
git config --global alias.co checkout
Maak een alias-snelkoppeling (git co)
git config --global --list
Toon alle globale configuratiewaarden
git config user.email
Toon het e-mailadres voor de huidige repo
git config --global color.ui auto
Schakel gekleurde command-line-uitvoer in
git help <command>
Open de handleiding voor een commando
Repos maken & klonen
9git init
Initialiseer een nieuwe repo in de huidige map
git init my-project
Maak een nieuwe repo in een nieuwe map
git clone https://example.com/repo.git
Kloon een remote repo via HTTPS
git clone git@example.com:user/repo.git
Kloon een remote repo via SSH
git clone <url> my-dir
Kloon naar een specifieke mapnaam
git clone --depth 1 <url>
Shallow clone met enkel de laatste commit
git clone --branch dev <url>
Kloon en check een specifieke branch uit
git clone --recurse-submodules <url>
Kloon en initialiseer alle submodules
git remote add origin <url>
Koppel een remote aan een bestaande lokale repo
Stagen & committen
11git add file.txt
Stage een enkel bestand voor de volgende commit
git add .
Stage alle wijzigingen in de huidige map
git add -A
Stage alle wijzigingen inclusief verwijderingen
git add -p
Stage geselecteerde hunks interactief
git commit -m "Add login form"
Commit gestagede wijzigingen met een bericht
git commit -am "Fix typo"
Stage getrackte bestanden en commit in één stap
git commit --amend
Bewerk de meest recente commit
git commit --amend --no-edit
Voeg gestagede wijzigingen toe aan de laatste commit
git rm file.txt
Verwijder een bestand en stage de verwijdering
git mv old.txt new.txt
Hernoem of verplaats een bestand en stage het
git reset file.txt
Unstage een bestand maar behoud de wijzigingen
Branches
10git branch
Toon alle lokale branches
git branch -a
Toon lokale en remote-tracking branches
git switch -c feature/login
Maak een nieuwe branch en schakel ernaar
git switch main
Schakel naar een bestaande branch
git checkout -b hotfix
Klassieke manier om branches te maken en te wisselen
git branch -m old-name new-name
Hernoem een branch
git branch -d feature/login
Verwijder een gemergede lokale branch
git branch -D feature/login
Forceer verwijderen van een niet-gemergede lokale branch
git push origin --delete feature/login
Verwijder een branch op de remote
git switch -
Schakel terug naar de vorige branch
Mergen & rebasen
10git merge feature/login
Merge een branch in de huidige
git merge --no-ff feature/login
Merge en maak altijd een merge-commit
git merge --squash feature/login
Combineer een branch in één gestagede wijziging
git merge --abort
Annuleer een merge met conflicten
git rebase main
Speel huidige branch-commits opnieuw af op main
git rebase -i HEAD~3
Bewerk de laatste 3 commits interactief
git rebase --continue
Hervat een rebase na het oplossen van conflicten
git rebase --abort
Annuleer een lopende rebase
git cherry-pick <hash>
Pas een enkele commit toe op de huidige branch
git mergetool
Start een tool om merge-conflicten op te lossen
Remotes & synchroniseren
11git remote -v
Toon geconfigureerde remotes en hun URL's
git remote add upstream <url>
Voeg een tweede remote toe genaamd upstream
git remote set-url origin <url>
Wijzig de URL van een bestaande remote
git fetch
Download remote wijzigingen zonder te mergen
git fetch --all --prune
Fetch alle remotes en verwijder verouderde branches
git pull
Fetch en integreer remote wijzigingen
git pull --rebase
Pull en rebase lokale commits bovenaan
git push
Upload lokale commits naar de remote
git push -u origin main
Push en stel de upstream-tracking branch in
git push --force-with-lease
Forceer veilig pushen zonder werk van anderen te overschrijven
git push origin --tags
Push alle lokale tags naar de remote
Inspecteren & vergelijken
10git status
Toon gestagede, niet-gestagede en niet-getrackte bestanden
git status -s
Toon status in een compact kort formaat
git diff
Toon niet-gestagede wijzigingen tegen de index
git diff --staged
Toon wijzigingen gestaged voor de volgende commit
git diff main..feature
Vergelijk twee branches
git diff HEAD~1 HEAD
Vergelijk de laatste commit met zijn parent
git show <hash>
Toon de details en diff van één commit
git show HEAD:file.txt
Toon een bestand zoals het in een commit was
git log --stat
Toon commits met overzicht van gewijzigde bestanden
git shortlog -sn
Tel commits gegroepeerd per auteur
Wijzigingen ongedaan maken
10git restore file.txt
Verwerp niet-gestagede wijzigingen in een bestand
git restore --staged file.txt
Unstage een bestand maar behoud de wijzigingen
git restore --source=HEAD~1 file.txt
Herstel een bestand uit een eerdere commit
git checkout -- file.txt
Klassieke manier om lokale wijzigingen te verwerpen
git reset --soft HEAD~1
Maak laatste commit ongedaan, behoud wijzigingen gestaged
git reset --mixed HEAD~1
Maak laatste commit ongedaan, behoud wijzigingen niet-gestaged
git reset --hard HEAD~1
Maak laatste commit ongedaan en verwerp wijzigingen
git revert <hash>
Maak een nieuwe commit die een commit ongedaan maakt
git clean -fd
Verwijder niet-getrackte bestanden en mappen
git clean -nd
Bekijk vooraf wat clean zou verwijderen
Stashen
10git stash
Bewaar niet-gecommitte wijzigingen en maak de tree schoon
git stash push -m "wip"
Stash wijzigingen met een beschrijvend bericht
git stash -u
Stash inclusief niet-getrackte bestanden
git stash list
Toon alle gestashte wijzigingensets
git stash show -p
Toon de diff van de laatste stash
git stash apply
Pas de laatste stash opnieuw toe en behoud hem
git stash pop
Pas de laatste stash opnieuw toe en verwijder hem
git stash apply stash@{2}
Pas een specifieke stash op index opnieuw toe
git stash drop stash@{0}
Verwijder een enkele stash-entry
git stash clear
Verwijder alle stash-entries
Tags
9git tag
Toon alle tags
git tag v1.0.0
Maak een lightweight tag bij HEAD
git tag -a v1.0.0 -m "Release 1.0.0"
Maak een annotated tag met een bericht
git tag -a v1.0.0 <hash>
Tag een specifieke eerdere commit
git show v1.0.0
Toon details voor een tag
git push origin v1.0.0
Push een enkele tag naar de remote
git push origin --tags
Push alle lokale tags naar de remote
git tag -d v1.0.0
Verwijder een tag lokaal
git push origin --delete v1.0.0
Verwijder een tag op de remote
Logs & geschiedenis
12git log
Toon de volledige commit-geschiedenis
git log --oneline
Toon een compacte log met één regel per commit
git log --oneline --graph --all
Visualiseer branches als een ASCII-graaf
git log -p
Toon commit-geschiedenis met diffs
git log --author="Jane"
Filter geschiedenis op auteur
git log --since="2 weeks ago"
Filter geschiedenis op datumbereik
git log --pretty=format:"%h %an %s"
Pas het log-uitvoerformaat aan
git blame file.txt
Toon wie elke regel als laatste wijzigde
git reflog
Toon de geschiedenis van waar HEAD is geweest
git bisect start
Start een binaire zoektocht naar een foute commit
git bisect good <hash>
Markeer een commit als goed tijdens bisect
git bisect bad
Markeer de huidige commit als fout
Geen vermelding komt overeen met “:q”.
Hulp nodig?
Een probleem met deze tool gevonden? Laat het ons weten.