Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Basisprincipes van Rebasen | Meer Geavanceerde Workflows
GitHub Fundamentals
course content

Cursusinhoud

GitHub Fundamentals

GitHub Fundamentals

1. Introductie tot GitHub
2. Basisinteractie met Remotes
3. Meer Geavanceerde Workflows

book
Basisprincipes van Rebasen

Een commit maken op de main branch

Begin met het maken van een commit direct in de remote main branch door het bestand README.md in de remote repository te bewerken. Hierdoor zullen de main branch en de feature/payment branch een uiteenlopende commitgeschiedenis hebben.

Hier is de regel die aan het bestand is toegevoegd:

Hier is het bijbehorende commitbericht:

Begrip van Rebasen

Zoals eerder vermeld in het vorige hoofdstuk, kan en moet de feature-branch, zodra deze is beoordeeld en getest, worden samengevoegd met de main-branch. Tot nu toe hebben we hiervoor alleen het commando git merge gebruikt. Een alternatieve methode is echter het gebruik van het commando git rebase.

Note
Meer Bestuderen

Rebasen is het proces waarbij een reeks commits wordt verplaatst of gecombineerd naar een nieuwe basiscommit. Dit gebeurt door de wijzigingen van de ene branch opnieuw toe te passen op een andere branch, wat resulteert in een lineaire commitgeschiedenis.

Wanneer we een branch aanmaken, houdt Git de laatste commit op beide branches bij. Als slechts één branch nieuwe wijzigingen heeft, kan Git deze wijzigingen direct toepassen (fast-forward). Maar als beide branches nieuwe wijzigingen bevatten, maakt Git een nieuwe merge commit aan, wat resulteert in een driewegmerge.

Hier ziet u hoe een driewegmerge eruit zou zien in ons geval, waarbij C4 de laatste commit was op de feature/payment-branch vóór het samenvoegen:

Echter, three-way merges kunnen het debuggen bemoeilijken vanwege de gesplitste, niet-lineaire geschiedenis. Door te rebasen veranderen we de basis van onze commits en spelen we deze opnieuw af bovenop de nieuwe basis, waardoor Git een fast-forward merge kan uitvoeren en een lineaire geschiedenis behoudt.

Hier is een animatie om te illustreren hoe rebasen in ons geval kan worden uitgevoerd (de commit-identificaties komen hier niet overeen met de echte):

Note
Opmerking

Wanneer je een branch rebase't, ben je in feite de geschiedenis ervan aan het herschrijven. Dit betekent dat de oude commits worden vervangen door nieuwe, die verschillende identificaties (hash-sommen) hebben omdat ze gebaseerd zijn op andere snapshots van de code. Zoals getoond in de bovenstaande animatie, is de identificatie van de commit op de feature/payment branch veranderd na het rebasen.

question mark

Wat is het belangrijkste doel van het gebruik van git rebase in plaats van git merge?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

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

course content

Cursusinhoud

GitHub Fundamentals

GitHub Fundamentals

1. Introductie tot GitHub
2. Basisinteractie met Remotes
3. Meer Geavanceerde Workflows

book
Basisprincipes van Rebasen

Een commit maken op de main branch

Begin met het maken van een commit direct in de remote main branch door het bestand README.md in de remote repository te bewerken. Hierdoor zullen de main branch en de feature/payment branch een uiteenlopende commitgeschiedenis hebben.

Hier is de regel die aan het bestand is toegevoegd:

Hier is het bijbehorende commitbericht:

Begrip van Rebasen

Zoals eerder vermeld in het vorige hoofdstuk, kan en moet de feature-branch, zodra deze is beoordeeld en getest, worden samengevoegd met de main-branch. Tot nu toe hebben we hiervoor alleen het commando git merge gebruikt. Een alternatieve methode is echter het gebruik van het commando git rebase.

Note
Meer Bestuderen

Rebasen is het proces waarbij een reeks commits wordt verplaatst of gecombineerd naar een nieuwe basiscommit. Dit gebeurt door de wijzigingen van de ene branch opnieuw toe te passen op een andere branch, wat resulteert in een lineaire commitgeschiedenis.

Wanneer we een branch aanmaken, houdt Git de laatste commit op beide branches bij. Als slechts één branch nieuwe wijzigingen heeft, kan Git deze wijzigingen direct toepassen (fast-forward). Maar als beide branches nieuwe wijzigingen bevatten, maakt Git een nieuwe merge commit aan, wat resulteert in een driewegmerge.

Hier ziet u hoe een driewegmerge eruit zou zien in ons geval, waarbij C4 de laatste commit was op de feature/payment-branch vóór het samenvoegen:

Echter, three-way merges kunnen het debuggen bemoeilijken vanwege de gesplitste, niet-lineaire geschiedenis. Door te rebasen veranderen we de basis van onze commits en spelen we deze opnieuw af bovenop de nieuwe basis, waardoor Git een fast-forward merge kan uitvoeren en een lineaire geschiedenis behoudt.

Hier is een animatie om te illustreren hoe rebasen in ons geval kan worden uitgevoerd (de commit-identificaties komen hier niet overeen met de echte):

Note
Opmerking

Wanneer je een branch rebase't, ben je in feite de geschiedenis ervan aan het herschrijven. Dit betekent dat de oude commits worden vervangen door nieuwe, die verschillende identificaties (hash-sommen) hebben omdat ze gebaseerd zijn op andere snapshots van de code. Zoals getoond in de bovenstaande animatie, is de identificatie van de commit op de feature/payment branch veranderd na het rebasen.

question mark

Wat is het belangrijkste doel van het gebruik van git rebase in plaats van git merge?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
some-alt