Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Het Oplossen van Merge-Conflicten | Werken met Branches in Git
Git Essentials

bookHet Oplossen van Merge-Conflicten

Conflicten oplossen

In het vorige hoofdstuk is er een mergeconflict opgetreden, dus nu is het tijd om dit op te lossen. Open eerst het bestand branch_learning.txt in de Vim-editor met het volgende commando:

Vim openen

Als Vim niet is geïnstalleerd, kan een andere teksteditor zoals nano of atom worden gebruikt door vim te vervangen door de naam van de gewenste editor in het bovenstaande commando.
Het wordt echter aanbevolen om Vim te gebruiken voor een eenvoudigere afstemming met de hier getoonde stappen.

Hier is het bestand geopend in de Vim-editor:

Bestand met conflicten geopend in Vim

Nu zijn de conflictmarkeringen zichtbaar die de conflicterende secties aanduiden.
Deze markeringen gebruiken pijlen en speciale symbolen om verschillen tussen branches te markeren:

  • <<<<<<< HEAD; markeert het begin van de wijzigingen uit de huidige branch (master);
  • =======; scheidt de wijzigingen van de huidige branch (HEAD) en die van de branch die wordt samengevoegd;
  • >>>>>>> feature/new-feature; markeert het einde van de wijzigingen uit de samengevoegde branch.

Om het conflict op te lossen, een van de volgende opties selecteren:

  • De wijzigingen uit de huidige branch (master) behouden;
  • De wijzigingen uit de samengevoegde branch (feature/new-feature) behouden;
  • De inhoud handmatig bewerken.

Het bestand handmatig bewerken door de wijzigingen uit beide branches te combineren met de volgende stappen:

1. Bewerkmodus activeren

Eerst de insert-modus in Vim activeren door op i te drukken. Hiermee wordt het mogelijk de tekst te bewerken.

2. Bewerk het conflicterende gedeelte

Vervolgens de regels van beide branches achtereenvolgens combineren. De uiteindelijke inhoud van het bestand moet er als volgt uitzien:

Het conflict oplossen

3. Verlaat de bewerkingsmodus, sla op en sluit af

Druk op de Escape-toets om de invoegmodus te verlaten. Typ vervolgens :wq en druk op Enter om de wijzigingen op te slaan en Vim af te sluiten:

Vim afsluiten

Bestand committen

Nu de conflicten zijn opgelost, het bestand branch_learning.txt toevoegen aan de staging area en de status controleren:

Opgelost bestand toevoegen

Het bestand is gewijzigd en succesvol toegevoegd aan de staging area. Ga nu verder met het committen ervan:

Het bestand committen

Opnieuw wordt de standaardteksteditor geopend (Vim in dit geval) met het standaard commitbericht over de merge:

Standaard commit-bericht

Ga naar de insert-modus in Vim door op i te drukken, en wijzig vervolgens het bericht door de regel Kept lines from both branches toe te voegen om te beschrijven hoe de conflicten zijn opgelost.

Hier is het volledige commit-bericht:

Om de insert-modus te verlaten, de wijzigingen op te slaan en Vim af te sluiten, druk op de Escape-toets, typ vervolgens :wq en druk op Enter.

Het gewijzigde bericht opslaan en Vim afsluiten

De commit is geslaagd en het mergeconflict is nu opgelost.

Bekijk nu onze commitgeschiedenis als een grafiek (--graph vlag) met één regel per commit (--oneline vlag):

Commitgeschiedenisgrafiek

Hier zie je de meest recente merge-commit samen met de karakteristieke structuur van een three-way merge.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

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

Awesome!

Completion rate improved to 3.57

bookHet Oplossen van Merge-Conflicten

Veeg om het menu te tonen

Conflicten oplossen

In het vorige hoofdstuk is er een mergeconflict opgetreden, dus nu is het tijd om dit op te lossen. Open eerst het bestand branch_learning.txt in de Vim-editor met het volgende commando:

Vim openen

Als Vim niet is geïnstalleerd, kan een andere teksteditor zoals nano of atom worden gebruikt door vim te vervangen door de naam van de gewenste editor in het bovenstaande commando.
Het wordt echter aanbevolen om Vim te gebruiken voor een eenvoudigere afstemming met de hier getoonde stappen.

Hier is het bestand geopend in de Vim-editor:

Bestand met conflicten geopend in Vim

Nu zijn de conflictmarkeringen zichtbaar die de conflicterende secties aanduiden.
Deze markeringen gebruiken pijlen en speciale symbolen om verschillen tussen branches te markeren:

  • <<<<<<< HEAD; markeert het begin van de wijzigingen uit de huidige branch (master);
  • =======; scheidt de wijzigingen van de huidige branch (HEAD) en die van de branch die wordt samengevoegd;
  • >>>>>>> feature/new-feature; markeert het einde van de wijzigingen uit de samengevoegde branch.

Om het conflict op te lossen, een van de volgende opties selecteren:

  • De wijzigingen uit de huidige branch (master) behouden;
  • De wijzigingen uit de samengevoegde branch (feature/new-feature) behouden;
  • De inhoud handmatig bewerken.

Het bestand handmatig bewerken door de wijzigingen uit beide branches te combineren met de volgende stappen:

1. Bewerkmodus activeren

Eerst de insert-modus in Vim activeren door op i te drukken. Hiermee wordt het mogelijk de tekst te bewerken.

2. Bewerk het conflicterende gedeelte

Vervolgens de regels van beide branches achtereenvolgens combineren. De uiteindelijke inhoud van het bestand moet er als volgt uitzien:

Het conflict oplossen

3. Verlaat de bewerkingsmodus, sla op en sluit af

Druk op de Escape-toets om de invoegmodus te verlaten. Typ vervolgens :wq en druk op Enter om de wijzigingen op te slaan en Vim af te sluiten:

Vim afsluiten

Bestand committen

Nu de conflicten zijn opgelost, het bestand branch_learning.txt toevoegen aan de staging area en de status controleren:

Opgelost bestand toevoegen

Het bestand is gewijzigd en succesvol toegevoegd aan de staging area. Ga nu verder met het committen ervan:

Het bestand committen

Opnieuw wordt de standaardteksteditor geopend (Vim in dit geval) met het standaard commitbericht over de merge:

Standaard commit-bericht

Ga naar de insert-modus in Vim door op i te drukken, en wijzig vervolgens het bericht door de regel Kept lines from both branches toe te voegen om te beschrijven hoe de conflicten zijn opgelost.

Hier is het volledige commit-bericht:

Om de insert-modus te verlaten, de wijzigingen op te slaan en Vim af te sluiten, druk op de Escape-toets, typ vervolgens :wq en druk op Enter.

Het gewijzigde bericht opslaan en Vim afsluiten

De commit is geslaagd en het mergeconflict is nu opgelost.

Bekijk nu onze commitgeschiedenis als een grafiek (--graph vlag) met één regel per commit (--oneline vlag):

Commitgeschiedenisgrafiek

Hier zie je de meest recente merge-commit samen met de karakteristieke structuur van een three-way merge.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6
some-alt