Het 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:
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:
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:
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:
Bestand committen
Nu de conflicten zijn opgelost, het bestand branch_learning.txt toevoegen aan de staging area en de status controleren:
Het bestand is gewijzigd en succesvol toegevoegd aan de staging area. Ga nu verder met het committen ervan:
Opnieuw wordt de standaardteksteditor geopend (Vim in dit geval) met het standaard commitbericht over de merge:
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.
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):
Hier zie je de meest recente merge-commit samen met de karakteristieke structuur van een three-way merge.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.57
Het 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:
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:
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:
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:
Bestand committen
Nu de conflicten zijn opgelost, het bestand branch_learning.txt toevoegen aan de staging area en de status controleren:
Het bestand is gewijzigd en succesvol toegevoegd aan de staging area. Ga nu verder met het committen ervan:
Opnieuw wordt de standaardteksteditor geopend (Vim in dit geval) met het standaard commitbericht over de merge:
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.
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):
Hier zie je de meest recente merge-commit samen met de karakteristieke structuur van een three-way merge.
Bedankt voor je feedback!