Sammanslagningskonflikter
Svep för att visa menyn
Förståelse av sammanslagningskonflikter
En sammanslagningskonflikt uppstår när Git inte automatiskt kan förena ändringarna som gjorts på två avvikande grenar. Detta inträffar vanligtvis när ändringar har gjorts i samma rader kod i samma filer i båda grenarna sedan deras senaste gemensamma förfader.
Exempel på arbetsflöde
Börja med att lista alla grenar i arkivet:
git branch
Du är för närvarande på master-grenen, så ändra filen branch_learning.txt genom att lägga till en ny rad och gör en direkt commit av denna ändring:
echo "New line from the master branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the master branch to branch_learning.txt"
Byt nu till feature-grenen, lägg till en annan ny rad i filen branch_learning.txt och gör en direkt commit av denna ändring:
git checkout feature/new-feature
echo "New line from the feature branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the feature branch to branch_learning.txt"
Båda commitarna är lyckade, så byt tillbaka till master-grenen och slå ihop feature-grenen med den:
git checkout master
git merge feature/new-feature
Hoppsan, en sammanfogningskonflikt uppstod eftersom samma rad i samma fil skiljer sig mellan grenarna, och Git kan inte automatiskt lösa det.
Låt oss också köra kommandot git status för att få mer information om konflikten:
git status
Detta meddelande indikerar att du antingen måste avbryta sammanslagningen eller lösa konflikterna och därefter göra en commit av ändringarna. Du kommer att gå vidare med det senare alternativet och lösa konflikterna i nästa kapitel.
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