Lösa Sammanslagningskonflikter
Åtgärda konflikter
I föregående kapitel uppstod en sammanslagningskonflikt, så nu är det dags att lösa den.
Öppna först filen branch_learning.txt i Vim-editorn med följande kommando:
Om Vim inte är installerat kan du använda en annan texteditor, såsom nano eller atom, genom att ersätta vim med din editors namn i kommandot ovan.
Det rekommenderas dock att använda Vim för enklare anpassning till stegen som visas här.
Här är filen öppnad i Vim-editorn:
Nu visas konfliktmarkörer som indikerar de motstridiga avsnitten.
Dessa markörer använder pilar och specialsymboler för att markera skillnader mellan grenar:
<<<<<<< HEAD: markerar början på ändringar från aktuell gren (master);=======: separerar ändringarna från aktuell gren (HEAD) och de från den gren som slås ihop;>>>>>>> feature/new-feature: markerar slutet på ändringarna från den gren som slås ihop.
För att lösa konflikten, välj ett av följande alternativ:
- Behåll ändringarna från aktuell gren (
master); - Behåll ändringarna från sammanslagen gren (
feature/new-feature); - Redigera manuellt innehållet.
Redigera filen manuellt genom att kombinera ändringarna från båda grenarna enligt följande steg:
1. Gå in i redigeringsläge
Gå först in i insert-läge i Vim genom att trycka på i.
Detta möjliggör redigering av texten.
2. Redigera den konfliktfyllda sektionen
Kombinera därefter raderna från båda grenarna i sekventiell ordning. Den resulterande filens innehåll ska se ut enligt följande:
3. Avsluta redigeringsläget, spara och avsluta
Tryck på Escape-tangenten för att lämna insert-läget.
Skriv sedan :wq och tryck på Enter för att spara ändringarna och avsluta Vim:
Committa filen
Eftersom konflikterna är lösta, lägg till filen branch_learning.txt i staging area och kontrollera status:
Filen har ändrats och har framgångsrikt lagts till i staging-området. Fortsätt nu med att committa den:
Återigen öppnas standardtextredigeraren (Vim i mitt fall) med det förvalda commit-meddelandet angående sammanslagningen:
Gå in i insert-läge i Vim genom att trycka på i, och ändra sedan meddelandet genom att lägga till raden
Kept lines from both branches
för att beskriva hur konflikterna löstes.
Här är det kompletta commit-meddelandet:
För att lämna insert-läget, spara ändringarna och stänga Vim, tryck på Escape-tangenten, skriv sedan :wq och tryck på Enter.
Commiten är genomförd och sammanslagningskonflikten är nu löst.
Nu granskas commit-historiken som en graf (--graph-flagga) med en rad per commit (--oneline-flagga):
Här kan du se den senaste merge-committen tillsammans med den karakteristiska strukturen för en trevägs-sammanslagning.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.57
Lösa Sammanslagningskonflikter
Svep för att visa menyn
Åtgärda konflikter
I föregående kapitel uppstod en sammanslagningskonflikt, så nu är det dags att lösa den.
Öppna först filen branch_learning.txt i Vim-editorn med följande kommando:
Om Vim inte är installerat kan du använda en annan texteditor, såsom nano eller atom, genom att ersätta vim med din editors namn i kommandot ovan.
Det rekommenderas dock att använda Vim för enklare anpassning till stegen som visas här.
Här är filen öppnad i Vim-editorn:
Nu visas konfliktmarkörer som indikerar de motstridiga avsnitten.
Dessa markörer använder pilar och specialsymboler för att markera skillnader mellan grenar:
<<<<<<< HEAD: markerar början på ändringar från aktuell gren (master);=======: separerar ändringarna från aktuell gren (HEAD) och de från den gren som slås ihop;>>>>>>> feature/new-feature: markerar slutet på ändringarna från den gren som slås ihop.
För att lösa konflikten, välj ett av följande alternativ:
- Behåll ändringarna från aktuell gren (
master); - Behåll ändringarna från sammanslagen gren (
feature/new-feature); - Redigera manuellt innehållet.
Redigera filen manuellt genom att kombinera ändringarna från båda grenarna enligt följande steg:
1. Gå in i redigeringsläge
Gå först in i insert-läge i Vim genom att trycka på i.
Detta möjliggör redigering av texten.
2. Redigera den konfliktfyllda sektionen
Kombinera därefter raderna från båda grenarna i sekventiell ordning. Den resulterande filens innehåll ska se ut enligt följande:
3. Avsluta redigeringsläget, spara och avsluta
Tryck på Escape-tangenten för att lämna insert-läget.
Skriv sedan :wq och tryck på Enter för att spara ändringarna och avsluta Vim:
Committa filen
Eftersom konflikterna är lösta, lägg till filen branch_learning.txt i staging area och kontrollera status:
Filen har ändrats och har framgångsrikt lagts till i staging-området. Fortsätt nu med att committa den:
Återigen öppnas standardtextredigeraren (Vim i mitt fall) med det förvalda commit-meddelandet angående sammanslagningen:
Gå in i insert-läge i Vim genom att trycka på i, och ändra sedan meddelandet genom att lägga till raden
Kept lines from both branches
för att beskriva hur konflikterna löstes.
Här är det kompletta commit-meddelandet:
För att lämna insert-läget, spara ändringarna och stänga Vim, tryck på Escape-tangenten, skriv sedan :wq och tryck på Enter.
Commiten är genomförd och sammanslagningskonflikten är nu löst.
Nu granskas commit-historiken som en graf (--graph-flagga) med en rad per commit (--oneline-flagga):
Här kan du se den senaste merge-committen tillsammans med den karakteristiska strukturen för en trevägs-sammanslagning.
Tack för dina kommentarer!