iocalhost.nl // no place like ::1
references Version Control Git

Git

Dagelijkse workflow, branches, ongedaan maken, samenvoegen en remotes.

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)

Tags

git tag v1.0.0
git tag -a v1.0.0 -m "release"   geannoteerd
git push origin v1.0.0