Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Branches Samenvoegen | Werken met Branches in Git
Git Essentials

Branches Samenvoegen

Veeg om het menu te tonen

Begrip van het samenvoegen van branches

In Git is samenvoegen het proces waarbij wijzigingen van de ene branch in een andere worden geïntegreerd. Het meest voorkomende gebruik is het samenvoegen van feature-branches in de main branch (bijvoorbeeld main of master). Dit zorgt ervoor dat de nieuwste functies en bugfixes worden opgenomen in de hoofdcodebase.

Basisworkflow voor samenvoegen

Bekijk eerst de twee meest recente commits. Let op: je bevindt je momenteel op de feature/new-feature branch.

git log -n 2
Twee laatste commits op de feature branch

Zoals je kunt zien, loopt de master-branch één commit achter. Voordat je gaat mergen, moet je overschakelen naar de branch waarin de wijzigingen worden geïntegreerd. Schakel over naar de master-branch en toon de twee meest recente commits daarop:

git checkout master
git log -n 2
Overschakelen naar master en tonen van de twee laatste commits

De master-branch loopt inderdaad één commit achter op de feature-branch. Om deze samen te voegen, gebruik het commando git merge en specificeer de branch die je wilt samenvoegen met de huidige branch. Om bijvoorbeeld de feature/new-feature-branch samen te voegen met master, voer uit:

git merge feature/new-feature
Samenvoegen
Note
Opmerking

Het bericht dat wordt weergegeven na het uitvoeren van het commando bevat het volgende: Fast-forward, wat aangeeft dat een fast-forward merge is uitgevoerd.

Je zult later in dit hoofdstuk de twee soorten merges verkennen. Bekijk daarvoor eerst de twee meest recente commits:

git log -n 2
Twee laatste commits na samenvoeging

Je bevindt je nog steeds op de master branch, maar deze is nu up-to-date met de feature branch, waarbij beide branches naar dezelfde commit verwijzen.

Note
Opmerking

De HEAD wijst nog steeds naar de master branch omdat je je op deze branch bevond tijdens het uitvoeren van de merge.

Merge-types

Er zijn twee typen merge-bewerkingen in Git:

  • Fast-forward merge;
  • Three-way merge.

Fast-forward merge

De merge die je hebt uitgevoerd is een fast-forward merge, zoals aangegeven in het bericht. Dit type komt voor wanneer alle commits van de momenteel uitgecheckte branch ook aanwezig zijn in de branch die wordt samengevoegd, wat betekent dat hun commitgeschiedenissen niet uit elkaar lopen.

Zie de volgende illustratie ter verduidelijking:

Bij dit type merge wordt de pointer van de uitgecheckte branch eenvoudigweg bijgewerkt naar de laatste commit.

Drieweg-merge

Als de geschiedenis van de branches echter uit elkaar is gegaan, wat betekent dat na een bepaalde gemeenschappelijke commit nieuwe commits afzonderlijk op elke branch zijn gemaakt, wordt een drieweg-merge uitgevoerd.

De term "drieweg" verwijst naar de drie versies die betrokken zijn bij de merge:

  • De versie van de meest recente gemeenschappelijke voorouder (commit);
  • De versie van de laatste commit in de huidige branch (HEAD);
  • De versie van de laatste commit in de branch die wordt samengevoegd.

Bekijk de volgende illustratie van dit type merge:

Zo werkt een drie-weg-merge:

  1. Git identificeert de wijzigingen die op elke branch zijn gemaakt na de meest recente gemeenschappelijke voorouder;
  2. Als elke branch wijzigingen heeft in verschillende bestanden of in verschillende delen van hetzelfde bestand, zal Git de wijzigingen automatisch samenvoegen door ze te combineren in de resulterende commit;
  3. Anders ontstaat er een mergeconflict.
question mark

Selecteer alle typen merges.

Selecteer alle juiste antwoorden

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 4
some-alt