Så här fixar du Git-fel 'Dina lokala ändringar av följande filer skrivs över av sammanslagning'



Prova Vårt Instrument För Att Eliminera Problem

Felmeddelandet “ Dina lokala ändringar av följande filer skrivs över genom sammanslagning ”Förekommer i Git-versionskontrollmekanismen. Det här felet uppstår om du har ändrat en fil som också har modifieringar i fjärrförvaret.



Git-fel: Dina lokala ändringar av följande filer kommer att skrivas över av sammanslagning under kodning

Git-fel: Dina lokala ändringar av följande filer kommer att skrivas över av sammanslagning



Detta felmeddelande undviks om det inte finns några obefilta filer som också har ändringar i fjärrförvaret. När du upplever detta meddelande är det bäst att konsultera dina andra teammedlemmar och be om deras åsikt. Oavsett om du vill slå samman dina lokala ändringar eller behålla versionen i förvaret är det bäst att hålla alla ombord.



Vad är förvar? Vad är push and pull i Git?

Ett arkiv är ett slags lagring för kod som ständigt modifieras och erhålls av teammedlemmar genom GitHub-kontrollmekanismen. A ‘ Dra' betyder att du drar den senaste versionen av förvaret till din lokala lagring / IDE (Integrated Development Environment) som Pycharm etc.

Efter en pull gör du ändringar i koden eller lägger till fler funktioner. När du är klar, du Tryck' koden på förvaret så att ändringar sparas och tillägg görs. Koden blir också tillgänglig för andra människor.

Om du är ny med Github-versionskontroll rekommenderas att du går igenom alla grunderna först. I den här artikeln antar vi att du redan har grundläggande kunskaper och känner till alla saker och ting.



Hur fixar jag ”Dina lokala ändringar av följande filer kommer att skrivas över av sammanslagning”?

Lösning av detta felmeddelande beror på vad du vill göra. Du kan kasta dina lokala ändringar och dra dem i förvaret eller så kan du spara dina lokala ändringar i en stash och dra versionen från förvaret. Allt beror på dina önskemål.

Därför rekommenderar vi att du konsulterar dina teammedlemmar och ser till att ni alla är med på samma sida innan du går framåt. Om du begår fel eller trycker på fel version kan det påverka hela teamet.

Metod 1: Tvingar ett drag för att skriva över lokala förändringar

Om du bryr dig inte om de förändringar som görs lokalt och vill hämta koden från förvaret kan du tvinga ett drag. Detta kommer att skriva över alla lokala ändringar som gjorts på din dator. En kopia av versionen i förvaret visas.

Utför följande kommandon i din IDE:

git reset - hård git pull

Detta förstör omedelbart alla dina lokala ändringar så se till att du vet vad du gör och inte behöver dina lokala ändringar.

Metod 2: Behåll båda ändringarna (lokal och från repo)

Om du vill behålla båda ändringarna (ändringar gjorda lokalt och ändringar som finns i förvaret) kan du lägga till och begå dina ändringar. När du drar kommer det uppenbarligen att finnas en sammanslagningskonflikt. Här kan du använda verktygen i din IDE (som Difftool och mergetool) för att jämföra de två koderna och bestämma vilka ändringar som ska sparas och vilka som ska tas bort. Detta är mittvägen; inga ändringar går förlorade förrän du tar bort dem manuellt.

git lägg till $ the_file_under_error git commit git pull

När du får en sammanslagningskonflikt, popa upp dessa verktyg för konfliktlösning och kontrollera rad för rad.

Metod 3: Behåll båda ändringarna MEN gör inte

Denna situation händer då och då där utvecklare inte är redo att begå sig eftersom det finns någon delvis trasig kod som du felsöker. Här kan vi städa ändringarna säkert, dra versionen från förvaret och sedan ta bort koden.

git stash save --keep-index

eller

git stash
git pull git stash pop

Om det uppstår några konflikter efter att du har lagt upp stashen bör du lösa dem på vanligt sätt. Du kan också använda kommandot:

git stash gäller

istället för pop om du inte är redo att förlora den stashade koden på grund av konflikter.

Om sammanfogning inte verkar vara ett genomförbart alternativ för dig, överväga att göra en rebase. Omfördelning är processen att flytta eller kombinera en sekvens av åtaganden till en ny basförpliktelse. Ändra koden till omstängning till:

git stash git pull --rebase origin master git stash pop

Metod 4: Gör ändringar i ”specifika” delar av din kod

Om du vill göra ändringar i specifika delar av koden och inte vill ersätta allt kan du göra det begå allt du inte vill skriva över och följ sedan metod 3. Du kan använda följande kommando för de ändringar som du vill skriva över från den version som finns i förvaret:

git checkout path / to / file / to / revert

eller

git checkout HEAD ^ sökväg / till / fil / till / återgå

Du måste också se till att filen inte är iscensatt via:

git återställ HEAD path / to / file / to / revert

Fortsätt sedan med pull-kommandot:

git pull

Detta försöker sedan hämta versionen från förvaret.

3 minuter läst