Git-trackLes 6 van 7

🐙 Branches

Parallel werken zonder elkaar in de weg te zitten — het krachtigste onderdeel van Git.

⏱ 30 min6 stappen
Stap 1 / 6

Wat zijn branches?

Een branch is een aparte lijn van commits — een parallele versie van je project. Zo kun jij aan een nieuwe feature werken terwijl een teamlid een bug fixt, zonder dat jullie elkaar beïnvloeden.

Visueel — branches als parallele tijdlijnen
main:    A---B---C-----------F
                     \             /
feature:              D---E (merge)
                         \
bugfix:                   X (aparte fix)

main bevat altijd werkende code. Features en bugfixes worden op aparte branches ontwikkeld en daarna gemerged.

main / master

De standaard branch. Bevat de stabiele, werkende versie. Direct pushen is in professionele teams vaak verboden.

feature branches

Eén branch per feature of taak. Naam: feature/login, feature/zoekbalk. Na merge verwijderen.

hotfix branches

Snelle bugfix direct vanuit main. Naam: hotfix/login-crash. Snel maken, testen, mergen.

Stap 2 / 6

Branch commando's

Branches beheren
git branch — toon alle branches
git branch -a — incl. remote branches
git branch naam — maak branch aan
git branch -d naam — verwijder branch
git branch -D naam — forceer verwijderen
Naar branch gaan
git checkout naam — wissel naar branch
git checkout -b naam — aanmaken + wissel
git switch naam — modern alternatief
git switch -c naam — aanmaken + wissel
git switch - — vorige branch
Typisch feature branch workflow
# Vanuit main — nieuwe feature branch aanmaken
git checkout -b feature/contactformulier

# Werk en commit...
git add .
git commit -m "Voeg contactformulier toe"
git commit -m "Voeg validatie toe aan formulier"

# Push branch naar GitHub
git push -u origin feature/contactformulier

# Daarna: Pull Request aanmaken op GitHub
🖥️ Oefen branch commando's
Terminal
Probeer: git branch, git checkout -b feature/login, git branch opnieuw
student@pc:~/project (main)$
Stap 3 / 6

git merge — branches samenvoegen

Als je feature klaar is, voeg je de branch samen met main via git merge.

Lokaal mergen
# Ga naar de branch waar je naartoe wilt mergen (main)
git checkout main

# Zorg dat main up-to-date is
git pull

# Merge de feature branch in main
git merge feature/contactformulier

# Push de ge-mergede main
git push
Fast-forward merge
main:    A---B
feature:      C---D
Na merge: A---B---C---D

Als main niet bewogen is, schuift Git simpelweg de pointer vooruit. Geen merge commit.

Three-way merge
main:    A---B---E
feature:      C---D
Na merge: A---B---E---M (merge commit)

Als main ook nieuwe commits heeft, maakt Git een merge commit (M) aan.

✅ Branch opruimen na merge
git branch -d feature/contactformulier         # lokaal verwijderen
git push origin --delete feature/contactformulier  # remote verwijderen
Stap 4 / 6

git rebase — nettere geschiedenis

git rebase is een alternatief voor merge dat een lineaire geschiedenis oplevert — handig voor overzichtelijke logs.

Merge — vertakte geschiedenis
main:    A---B---E---M
                  \   /
feature:       C---D

Duidelijk wanneer wat gemerged is, maar drukke log.

Rebase — lineaire geschiedenis
main:    A---B---E---C'--D'

Commits van feature worden "verplaatst" bovenop main. Overzichtelijker, maar herschrijft geschiedenis.

Rebase workflow
git checkout feature/mijnfeature
git rebase main        # verplaats commits bovenop main
git checkout main
git merge feature/mijnfeature   # fast-forward, geen merge commit
⚠️ Gouden regel van rebase

Rebase nooit gedeelde branches (main, develop). Alleen rebase op je eigen feature branches die je nog niet gepusht hebt — of gebruik git pull --rebase.

Stap 5 / 6

Branch strategie in de praktijk

Professionele teams gebruiken vaste naamconventies en workflows. De meest gebruikte is GitHub Flow — simpel en effectief.

GitHub Flow (aanbevolen voor beginners)
mainAltijd deployable, beschermd
feature/...Eén branch per taak, kort leven
hotfix/...Urgente bugfix, direct vanuit main
Naamconventies:
feature/gebruiker-login
feature/zoekbalk-header
fix/cart-total-wrong
hotfix/security-patch
📋 Checklist voor elke feature branch
  • ☐ Aangemaakt vanuit een up-to-date main (git pull eerst)
  • ☐ Naam beschrijft wat je bouwt
  • ☐ Kleine, beschrijvende commits tijdens het werk
  • ☐ Pull Request met beschrijving wat en waarom
  • ☐ Branch verwijderd na merge

🧠 Kennischeck

🐙

Les 6 afgerond!

Je beheerst branches — het krachtigste onderdeel van Git voor samenwerking.

Les 7: Als het misgaat →