Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Een Rebase-Operatie Uitvoeren | 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
Een Rebase-Operatie Uitvoeren

Wijzigingen herbaseren op de main-branch

Voordat we onze wijzigingen kunnen herbaseren, moeten we eerst overschakelen naar de main-branch en de laatste wijzigingen ophalen:

Laten we nu de commit-boom bekijken:

Op dit moment hebben zowel de main- als de feature/payment-branch commits na de meest recente gemeenschappelijke voorouder. Dit betekent dat een fast-forward merge niet mogelijk is.

Als we deze branches zouden samenvoegen, zou er een three-way merge plaatsvinden. We willen echter onze geschiedenis lineair houden, dus gaan we een rebase uitvoeren van de feature/payment-branch op de main-branch. Dit kan door over te schakelen naar de feature/payment-branch en het git rebase-commando uit te voeren:

Fast-forward samenvoeging

Aangezien de rebase succesvol is, bekijken we onze commit-boom opnieuw:

Zoals verwacht is de commitgeschiedenis nu lineair met de laatste commit op de feature/payment-branch. Nu kunnen we een eenvoudige fast-forward samenvoeging uitvoeren naar de main-branch:

Laten we controleren of beide branches naar dezelfde commit verwijzen door naar de laatste commit te kijken:

De featurebranch verwijderen

De main-branch bevat nu de laatste commit met het geïmplementeerde betalingssysteem, dus we kunnen zowel de lokale als de remote feature/payment-branch veilig verwijderen. Het volgende commando verwijdert de remote branch:

Nu kunnen we de lokale branch verwijderen:

Tot slot kunnen alle aangebrachte wijzigingen terug naar de remote repository worden gepusht:

Om te verifiëren dat de feature-branch zowel lokaal als op afstand is verwijderd, kun je het volgende commando uitvoeren, waarmee alle (-a staat voor alle) lokale en remote branches worden weergegeven:

Zoals je kunt zien, is de feature/payment-branch succesvol verwijderd en zijn er nu slechts twee branches: main en john/test met hun remote tegenhangers.

Over het algemeen werkt rebasen goed voor lokale wijzigingen die nog niet gedeeld zijn, maar het kan aanzienlijke problemen veroorzaken voor wijzigingen die al naar een remote repository zijn gepusht en mogelijk door andere medewerkers zijn gedownload. Het rebasen van commits die door anderen worden gebruikt, kan verwarring en conflicten veroorzaken doordat de commitgeschiedenis wordt herschreven.

Als algemene regel geldt: vermijd het rebasen van wijzigingen die naar remote repositories zijn gepusht om deze problemen te voorkomen.

question mark

Waarom voert feature/payment na het rebasen van main op git merge feature/payment een fast-forward merge uit?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 5

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
Een Rebase-Operatie Uitvoeren

Wijzigingen herbaseren op de main-branch

Voordat we onze wijzigingen kunnen herbaseren, moeten we eerst overschakelen naar de main-branch en de laatste wijzigingen ophalen:

Laten we nu de commit-boom bekijken:

Op dit moment hebben zowel de main- als de feature/payment-branch commits na de meest recente gemeenschappelijke voorouder. Dit betekent dat een fast-forward merge niet mogelijk is.

Als we deze branches zouden samenvoegen, zou er een three-way merge plaatsvinden. We willen echter onze geschiedenis lineair houden, dus gaan we een rebase uitvoeren van de feature/payment-branch op de main-branch. Dit kan door over te schakelen naar de feature/payment-branch en het git rebase-commando uit te voeren:

Fast-forward samenvoeging

Aangezien de rebase succesvol is, bekijken we onze commit-boom opnieuw:

Zoals verwacht is de commitgeschiedenis nu lineair met de laatste commit op de feature/payment-branch. Nu kunnen we een eenvoudige fast-forward samenvoeging uitvoeren naar de main-branch:

Laten we controleren of beide branches naar dezelfde commit verwijzen door naar de laatste commit te kijken:

De featurebranch verwijderen

De main-branch bevat nu de laatste commit met het geïmplementeerde betalingssysteem, dus we kunnen zowel de lokale als de remote feature/payment-branch veilig verwijderen. Het volgende commando verwijdert de remote branch:

Nu kunnen we de lokale branch verwijderen:

Tot slot kunnen alle aangebrachte wijzigingen terug naar de remote repository worden gepusht:

Om te verifiëren dat de feature-branch zowel lokaal als op afstand is verwijderd, kun je het volgende commando uitvoeren, waarmee alle (-a staat voor alle) lokale en remote branches worden weergegeven:

Zoals je kunt zien, is de feature/payment-branch succesvol verwijderd en zijn er nu slechts twee branches: main en john/test met hun remote tegenhangers.

Over het algemeen werkt rebasen goed voor lokale wijzigingen die nog niet gedeeld zijn, maar het kan aanzienlijke problemen veroorzaken voor wijzigingen die al naar een remote repository zijn gepusht en mogelijk door andere medewerkers zijn gedownload. Het rebasen van commits die door anderen worden gebruikt, kan verwarring en conflicten veroorzaken doordat de commitgeschiedenis wordt herschreven.

Als algemene regel geldt: vermijd het rebasen van wijzigingen die naar remote repositories zijn gepusht om deze problemen te voorkomen.

question mark

Waarom voert feature/payment na het rebasen van main op git merge feature/payment een fast-forward merge uit?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 5
some-alt