Opzetten en configureren ⤢ git configStel je naam, e-mail of editor één keer in voor elke repo. git config --global user.name "Ada" ⤢ git config --global aliasDefinieer een snelnaam voor een commando dat je vaak typt. git config --global alias.co checkout ⤢ git initMaak een nieuwe repository in de huidige map. git init ⤢ git cloneKopieer een externe repository naar je machine. git clone git@github.com:org/repo.git ⤢ git clone --depthKopieer alleen de nieuwste commits van één branch. git clone --depth 1 --single-branch git@github.com:org/repo.git Snapshots: de basis ⤢ git statusToon wat er gestaged, gewijzigd en untracked is. git status -sb ⤢ git addStage wijzigingen zodat ze in de volgende commit belanden. git add src/app.ts ⤢ git add -pBekijk wijzigingen per hunk en stage alleen die je goedkeurt. git add -p src/app.ts ⤢ git add -uStage wijzigingen van elk gevolgd bestand zonder nieuwe toe te voegen. git add -u ⤢ git commitLeg de gestagede wijzigingen vast als nieuwe commit. git commit -m "fix: null check" ⤢ git commit --amendVervang de laatste commit door een gecorrigeerde. git commit --amend -m "fix: handle empty input" ⤢ git diffToon niet-gestagede wijzigingen, of gestagede met --staged. git diff --staged ⤢ git diff HEADToon elke wijziging sinds de laatste commit, al dan niet gestaged. git diff HEAD Branchen en mergen ⤢ git branchToon, maak of verwijder branches. git branch feature-x ⤢ git branch -dVerwijder een gemergde branch (-D forceert, -a toont elke branch). git branch -d feature-x ⤢ git switchWissel van branch (de moderne vervanger van checkout). git switch feature-x ⤢ git switch -cMaak een nieuwe branch en wissel er in één stap naartoe. git switch -c feature-x ⤢ git checkoutWissel van branch of herstel bestanden (het oudere, bredere commando). git checkout feature-x ⤢ git mergeBreng de wijzigingen van een andere branch naar de huidige branch. git merge feature-x ⤢ git merge --abortBreek een conflicteerde merge af en zet de branch terug in de oude staat. git merge --abort ⤢ git rebaseSpeel de commits van de huidige branch opnieuw af bovenop een andere branch. git rebase main ⤢ git rebase -iSquash, herorden of bewerk commits terwijl je ze opnieuw afspeelt. git rebase -i main ⤢ git cherry-pickKopieer één commit van een andere branch naar deze. git cherry-pick a1b2c3d ⤢ git tagMarkeer een commit met een leesbaar label zoals een versie. git tag -a v1.2.0 ⤢ git worktreeCheck een andere branch uit in een aparte map, tegelijkertijd. git worktree add ../repo-feature feature-x Geschiedenis bekijken ⤢ git logLoop door de commit-geschiedenis. git log --oneline --graph --decorate ⤢ git log --allLoop door de geschiedenis van elke branch, niet alleen de huidige. git log --oneline --graph --all ⤢ git showToon de volledige diff en het bericht van één commit. git show HEAD ⤢ git blameToon wie elke regel van een bestand het laatst wijzigde. git blame src/app.ts ⤢ git reflogToon elke commit waar HEAD naartoe wees, inclusief weggegooide. git reflog ⤢ git bisectDoorzoek de geschiedenis in helften om de brekende commit te vinden. git bisect start ⤢ git shortlogVat commits samen per auteur. git shortlog -sn ⤢ git describeBenoem de huidige commit door te tellen vanaf de dichtstbijzijnde tag. git describe --tags Samenwerken met remotes ⤢ git remoteToon of voeg externe repositories toe. git remote add origin <url> ⤢ git remote -vToon remotes met hun fetch- en push-URL's. git remote -v ⤢ git fetchDownload externe wijzigingen zonder je branches te wijzigen. git fetch origin ⤢ git fetch --pruneDownload externe wijzigingen en verwijder refs naar verwijderde externe branches. git fetch --prune ⤢ git pullDownload en merge de externe wijzigingen van de huidige branch. git pull --rebase ⤢ git pushStuur lokale commits naar de remote. git push -u origin feature-x ⤢ git push --force-with-leaseOverschrijf de externe branch, maar alleen als niemand eerder heeft gepusht. git push --force-with-lease origin feature-x Wijzigingen ongedaan maken ⤢ git restoreGooi working-tree-wijzigingen weg, of unstage ze. git restore src/app.ts ⤢ git restore --stagedUnstage een bestand en behoud de bewerkingen in de working tree. git restore --staged src/app.ts ⤢ git resetVerplaats de tip van de huidige branch en optioneel de index. git reset --hard HEAD~1 ⤢ git revertVoeg een nieuwe commit toe die een eerdere ongedaan maakt (veilig te delen). git revert HEAD ⤢ git cleanVerwijder untracked bestanden en mappen. git clean -fd Stashen ⤢ git stashBewaar niet-gecommitte werk en reset de working tree. git stash -u ⤢ git stash listToon elke stash die je hebt bewaard. git stash list ⤢ git stash applyBreng een stash opnieuw aan en bewaar hem in de lijst. git stash apply stash@{1} ⤢ git stash dropVerwijder een stash die je niet meer nodig hebt. git stash drop stash@{1} ⤢ git stash popBreng de recentste stash opnieuw aan en verwijder hem. git stash pop Bestanden en submodules ⤢ git mvVerplaats of hernoem een bestand en stage de wijziging. git mv old.ts src/new.ts ⤢ git rmVerwijder een bestand en stage de verwijdering. git rm src/old.ts ⤢ git submoduleVolg een andere repository als map binnen deze. git submodule add git@github.com:org/lib.git lib ⤢ git sparse-checkoutCheck alleen de genoemde mappen uit van een grote repository. git sparse-checkout set src docs ⤢ git archiveExporteer de tree van een commit als tar- of zipbestand. git archive -o repo.zip HEAD