Appearance
Uitleg git-workflow
Ja, dat gaat prima. Dit is zelfs een heel normale Git-workflow. Je maakt niet iedere keer een nieuwe kopie van de hele map op je Mac.
Je workflow:
bash
git checkout main
git pull origin main
git checkout -b mijn-featureDaarna pas je bestanden aan en vervolgens bijvoorbeeld:
bash
git add .
git commit -m "Mijn aanpassingen"
git push -u origin mijn-featureWat gebeurt er met je lokale map?
Stel je project is:
text
notes_vscode/En je hebt uiteindelijk 20 branches:
text
main
feature/menu
feature/zoekfunctie
fix/mobile
fix/footer
feature/notificaties
...Dan krijg je niet:
text
notes_vscode/
notes_vscode-feature-menu/
notes_vscode-zoekfunctie/
notes_vscode-fix-mobile/
...Je houdt gewoon één projectmap:
text
notes_vscode/Git bewaart intern de verschillen en commits van de branches in:
text
notes_vscode/.git/Als je van branch wisselt, past Git de bestanden in je bestaande projectmap aan zodat ze overeenkomen met die branch. Tientallen branches betekent dus normaal gesproken maar een relatief kleine hoeveelheid extra schijfruimte.
Kleine verbetering: gebruik git switch
De modernere Git-commando's hiervoor zijn:
bash
git switch main
git pull origin main
git switch -c mijn-featureWerk vervolgens en doe:
bash
git add .
git commit -m "Beschrijving van wijziging"
git push -u origin mijn-featureDaarna kun je de branch bijvoorbeeld via GitHub mergen naar main.
Als de feature klaar en gemerged is, kun je lokaal ook opruimen:
bash
git switch main
git pull origin main
git branch -d mijn-featureDe branch is dan lokaal weg. Je projectmap blijft gewoon dezelfde.
Let wel op: dit is anders dan een Git worktree. Bij een worktree maak je juist wél meerdere fysieke projectmappen. In je eerdere git branch-uitvoer zag ik bijvoorbeeld branches met een +; dat duidt erop dat die branches in andere worktrees actief zijn. Die kunnen dus wél extra schijfruimte gebruiken.