Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Løsning af Fletningskonflikter | Arbejde med Grene i Git
Git Essentials

bookLøsning af Fletningskonflikter

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 at bruge følgende kommando:

Åbning af Vim

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 ovenstående kommando.
Det anbefales dog at bruge Vim for nemmere at kunne følge trinnene her.

Her er filen åbnet i Vim-editoren:

Fil med konflikter åbnet i Vim

Nu kan du se konfliktmarkørerne, der angiver de modstridende 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 konfliktende afsnit

Dernæst kombineres linjerne fra begge grene sekventielt. Det resulterende indhold af filen skal se således ud:

Løsning af konflikten

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:

Afslutter Vim

Commit af filen

Da konflikterne er løst, tilføj filen branch_learning.txt til staging-området og tjek status:

Tilføjer løst fil

Filen blev ændret og blev succesfuldt tilføjet til staging-området. Fortsæt nu med at committe den:

Committer filen

Endnu en gang åbnes standard teksteditoren (Vim i mit tilfælde) med standard commit-beskeden vedrørende sammenfletningen:

Standard commit-besked

Gå 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:

For at afslutte insert mode, gemme ændringerne og lukke Vim, tryk på Escape-tasten, skriv derefter :wq og tryk på Enter.

Gemmer den ændrede besked og afslutter Vim

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):

Commit-historikgraf

Her kan du se den seneste merge-commit sammen med den karakteristiske struktur af et trevejsfletning.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.57

bookLø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 at bruge følgende kommando:

Åbning af Vim

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 ovenstående kommando.
Det anbefales dog at bruge Vim for nemmere at kunne følge trinnene her.

Her er filen åbnet i Vim-editoren:

Fil med konflikter åbnet i Vim

Nu kan du se konfliktmarkørerne, der angiver de modstridende 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 konfliktende afsnit

Dernæst kombineres linjerne fra begge grene sekventielt. Det resulterende indhold af filen skal se således ud:

Løsning af konflikten

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:

Afslutter Vim

Commit af filen

Da konflikterne er løst, tilføj filen branch_learning.txt til staging-området og tjek status:

Tilføjer løst fil

Filen blev ændret og blev succesfuldt tilføjet til staging-området. Fortsæt nu med at committe den:

Committer filen

Endnu en gang åbnes standard teksteditoren (Vim i mit tilfælde) med standard commit-beskeden vedrørende sammenfletningen:

Standard commit-besked

Gå 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:

For at afslutte insert mode, gemme ændringerne og lukke Vim, tryk på Escape-tasten, skriv derefter :wq og tryk på Enter.

Gemmer den ændrede besked og afslutter Vim

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):

Commit-historikgraf

Her kan du se den seneste merge-commit sammen med den karakteristiske struktur af et trevejsfletning.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6
some-alt