Løsning af Fletningskonflikter
Stryg for at vise menuen
Løsning af konflikter
I det forrige kapitel opstod der en sammenfletningskonflikt, så nu er det tid til at løse den.
Først åbnes filen branch_learning.txt i Vim-editoren ved hjælp af følgende kommando:
vim branch_learning.txt
Hvis Vim ikke er installeret, kan du bruge en anden teksteditor såsom nano eller atom ved at erstatte vim med navnet på din editor i kommandoen ovenfor.
Det anbefales dog at bruge Vim for nemmere at kunne følge trinnene her.
Her er filen åbnet i Vim-editoren:
Nu kan du se konfliktmarkørerne, der angiver de konfliktende sektioner.
Disse markører bruger pile og specielle symboler til at fremhæve forskelle mellem brancher:
<<<<<<< HEAD: markerer starten på ændringer fra den aktuelle branch (master);=======: adskiller ændringerne fra den aktuelle branch (HEAD) og dem fra den branch, der flettes;>>>>>>> feature/new-feature: markerer slutningen på ændringerne fra den branch, der flettes.
For at løse konflikten, vælg en af følgende muligheder:
- Behold ændringerne fra den aktuelle branch (
master); - Behold ændringerne fra den flettede branch (
feature/new-feature); - Rediger manuelt indholdet.
Rediger filen manuelt ved at kombinere ændringerne fra begge brancher ved hjælp af følgende trin:
1. Gå i redigeringstilstand
Start med at gå i insert-tilstand i Vim ved at trykke på i.
Dette gør det muligt at redigere teksten.
2. Rediger det konfliktfyldte afsnit
Dernæst kombineres linjerne fra begge grene i rækkefølge. Det resulterende indhold af filen skal se således ud:
New branch
New line from the master branch
New line from the feature branch
3. Afslut redigeringstilstand, gem og afslut
Tryk på Escape-tasten for at afslutte indsætningstilstand.
Skriv derefter :wq og tryk på Enter for at gemme ændringerne og afslutte Vim:
Commit af filen
Da konflikterne er løst, tilføjes filen branch_learning.txt til staging-området, og status kontrolleres:
git add branch_learning.txt
git status
Filen blev ændret og tilføjet til staging-området. Fortsæt nu med at committe den:
git commit
Endnu en gang åbnes standardteksteditoren (Vim i mit tilfælde) med standard-commit-beskeden vedrørende sammenfletningen:
Gå ind i insert mode i Vim ved at trykke på i, og rediger derefter beskeden ved at tilføje linjen
Kept lines from both branches
for at beskrive, hvordan konflikterne blev løst.
Her er den komplette commit-besked:
Merge branch 'feature/new-feature'
Kept lines from both branches
For at afslutte indsætningstilstand, gemme ændringerne og lukke Vim, tryk på Escape-tasten, skriv derefter :wq og tryk på Enter.
Committen er gennemført, og sammenfletningskonflikten er nu løst.
Lad os nu se på vores commit-historik som en graf (--graph flag) med én linje pr. commit (--oneline flag):
git log --graph --oneline
Her kan du se den seneste fletnings-commit sammen med den karakteristiske struktur for et trevejsfletning.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat