Lösa sammanslagningskonflikter i Visual Studio
När du sammanfogar en gren med en annan kan filändringar från commits i en gren vara i konflikt med ändringarna i den andra. Git försöker lösa dessa ändringar med hjälp av historiken på lagringsplatsen för att avgöra hur de sammanfogade filerna ska se ut. När det inte är klart hur du sammanfogar ändringar stoppar Git sammanfogningen och anger vilka filer som står i konflikt.
Förhindra sammanslagningskonflikter
Git är bra på att automatiskt sammanfoga filändringar under de flesta omständigheter, så länge filinnehållet inte ändras dramatiskt mellan incheckningar. Om din gren ligger långt efter huvudgrenen, överväg att ombasera dina grenar innan du öppnar en pull request. Omorganiserade grenar kommer att slås ihop med din huvudgren utan konflikter.
Lösa sammanslagningskonflikter
Om du samarbetar med andra i samma gren kan det uppstå sammanslagningskonflikter när du laddar upp dina ändringar.
Visual Studio identifierar om den lokala grenen som du har arbetat med ligger bakom dess fjärrspårningsgren och ger dig sedan alternativ att välja mellan.
Notera
Om fjärrlagringsplatsen stöder Force Push-kan du aktivera den med hjälp av Git>-inställningar.
I det här exemplet väljer du Pull och sedan Push- för att inkludera ändringar som introducerats på fjärrlagringsplatsen. Om det finns några sammanslagningskonflikter när du hämtar ändringar eller försöker sammanfoga två grenar meddelar Visual Studio dig i fönstret Git-ändringar i fönstret Git-lagringsplats och på filer som har konflikter.
Fönstret Git-ändringar visar en lista över filer med konflikter under Omarbetade ändringar. Om du vill börja lösa konflikter dubbelklickar du på en fil. Eller om du har en fil med konflikter öppnad i redigeraren kan du välja Öppna kopplingsredigeraren.
I Sammanslagningsredigeraren börjar du lösa konflikten med någon av följande metoder (som visas i den numrerade skärmbilden):
Gå över konflikterna rad för rad och välj mellan att behålla höger eller vänster sida genom att markera kryssrutorna.
-eller-
Välj knappen Ta inkommande (eller tryck på F10) för att acceptera alla inkommande ändringar, eller Ta nuvarande -knappen (eller tryck på F11) för att behålla din nuvarande version av alla ändringar som är i konflikt. Du kan göra samma sak genom att markera en av kryssrutorna överst i någon av ramarna sida vid sida.
-eller-
Redigera koden manuellt i fönstret Resultat.
När du är klar med att lösa sammanslagningskonflikterna väljer du Acceptera sammanslagning. Upprepa den här processen för alla filer som är i konflikt.
Använd fönstret Git Changes för att skapa en sammanslagningskommitté och lösa konflikten.
Notera
Om du vill behålla alla dina ändringar i en fil kan du högerklicka på den i avsnittet Ej indelade ändringar och välja Behåll aktuell (lokal) utan att behöva öppna Sammanslagningsredigeraren.
Tips
Mer information om tillgängliga hjälpmedelsalternativ finns i avsnittet Git-kortkommandon på sidan Hjälpmedelstips och tips för Visual Studio.
Konfigurera ditt diff-verktyg
Om du anger .gitconfig
fil att använda ett diffverktyg från tredje part, till exempel BeyondCompare eller KDiff3, respekterar Visual Studio det. När Visual Studio normalt skulle visa ett diff öppnas ett separat fönster i det verktyg som du väljer. Ett exempel finns i den här Stack Overflow- fråga.