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

bookBranches Samenvoegen

Begrip van het samenvoegen van branches

In Git is samenvoegen het proces waarbij wijzigingen van de ene branch in een andere worden geïntegreerd. De meest voorkomende toepassing 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: u bevindt zich momenteel op de feature/new-feature branch.

Twee laatste commits op de feature branch

Zoals te zien is, loopt de master-branch één commit achter. Voor het samenvoegen moet eerst worden overgeschakeld naar de branch waarin de wijzigingen geïntegreerd zullen worden. Schakel over naar de master-branch en toon de twee meest recente commits daarop:

Overschakelen naar master en tonen van de twee laatste commits

De master-branch loopt inderdaad één commit achter op de feature-branch. Gebruik het commando git merge en specificeer de branch die samengevoegd moet worden met de huidige branch. Om bijvoorbeeld de feature/new-feature-branch samen te voegen met master, voer uit:

Samenvoegen
Note
Opmerking

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

Later in dit hoofdstuk worden de twee typen samenvoegingen besproken. Bekijk eerst de twee meest recente commits:

Twee laatste commits na samenvoeging

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

Note
Opmerking

De HEAD verwijst nog steeds naar de master-branch omdat je je op deze branch bevond tijdens het uitvoeren van de samenvoeging.

Merge-types

Er zijn twee typen merge-operaties 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 vindt plaats 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 voor verduidelijking:

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

Three-way merge

Echter, als de geschiedenis van de branches uit elkaar is gelopen, wat betekent dat na een bepaald gemeenschappelijk commit nieuwe commits afzonderlijk op elke branch zijn gemaakt, wordt er een three-way merge uitgevoerd.

De term "three-way" 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 aangebracht 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 zal er een mergeconflict optreden.
question mark

Selecteer alle typen merges.

Select the correct answer

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.

Suggested prompts:

What is the difference between a fast-forward merge and a three-way merge?

Can you explain what a merge conflict is and how to resolve it?

Can you give an example of when a three-way merge would occur?

Awesome!

Completion rate improved to 3.57

bookBranches 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. De meest voorkomende toepassing 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: u bevindt zich momenteel op de feature/new-feature branch.

Twee laatste commits op de feature branch

Zoals te zien is, loopt de master-branch één commit achter. Voor het samenvoegen moet eerst worden overgeschakeld naar de branch waarin de wijzigingen geïntegreerd zullen worden. Schakel over naar de master-branch en toon de twee meest recente commits daarop:

Overschakelen naar master en tonen van de twee laatste commits

De master-branch loopt inderdaad één commit achter op de feature-branch. Gebruik het commando git merge en specificeer de branch die samengevoegd moet worden met de huidige branch. Om bijvoorbeeld de feature/new-feature-branch samen te voegen met master, voer uit:

Samenvoegen
Note
Opmerking

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

Later in dit hoofdstuk worden de twee typen samenvoegingen besproken. Bekijk eerst de twee meest recente commits:

Twee laatste commits na samenvoeging

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

Note
Opmerking

De HEAD verwijst nog steeds naar de master-branch omdat je je op deze branch bevond tijdens het uitvoeren van de samenvoeging.

Merge-types

Er zijn twee typen merge-operaties 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 vindt plaats 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 voor verduidelijking:

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

Three-way merge

Echter, als de geschiedenis van de branches uit elkaar is gelopen, wat betekent dat na een bepaald gemeenschappelijk commit nieuwe commits afzonderlijk op elke branch zijn gemaakt, wordt er een three-way merge uitgevoerd.

De term "three-way" 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 aangebracht 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 zal er een mergeconflict optreden.
question mark

Selecteer alle typen merges.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
some-alt