Hur man fixar Git-fel "Dina lokala ändringar av följande filer kommer att skrivas över genom att slå samman"

Felmeddelandet " Dina lokala ändringar av följande filer kommer att skrivas över genom sammanslagning " inträffar i Git-versionskontrollmekanism. Det här felet uppstår om du har modifierat en fil som också har ändringar i fjärrförvaret.

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

Detta felmeddelande undviks om det inte finns några otillåtna 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 förändringar eller hålla versionen närvarande i förvaret är det bäst att hålla alla ombord.

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

Ett förvar är en typ av lagring för kod som kontinuerligt modifieras och erhålls av teammedlemmar genom GitHub-versionskontrollmekanismen. En ' Pull' betyder att du drar den senaste versionen av förvaret till din lokala lagring / IDE (Integrated Development Environment) som Pycharm etc.

Efter ett drag gör du ändringar i koden eller lägger till fler funktioner. När du är klar " skjuter" du koden till 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 ins och outs.

Hur fixar du "Dina lokala ändringar av följande filer kommer att skrivas över genom att slå samman"?

Lösningen av detta felmeddelande beror på vad du vill göra. Du kan kassera dina lokala förändringar och dra dem i förvaret eller så kan du spara dina lokala förändringar i en stash och dra versionen från förvaret. Det beror på vad du föredrar.

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

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

Om du inte bryr dig om de ä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 förändringar som gjorts på din dator, en kopia av versionen i förvaret kommer att visas.

Kör följande kommandon i din IDE:

 git reset - hårt git pull 

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

Metod 2: Håller båda ändringarna (lokala 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 utföra dina ändringar. När du drar kommer det uppenbarligen en sammanslagningskonflikt. Här kan du använda verktygen i din IDE (som Difftool och mergetool) för att jämföra de två kodstyckena och bestämma vilka förändringar som ska behållas och vilka som ska tas bort. Detta är mittvägen; inga förändringar går förlorade förrän du manuellt tar bort dem.

 git lägg till $ the_file_under_error git begå git pull 

När du får en sammanslagningskonflikt, pop de konfliktlösningsverktygen och kontrollera rad för rad.

Metod 3: Att hålla båda ändringarna MEN inte begå

Den här situationen händer då och då där utvecklare inte är redo att begå eftersom det finns någon delvis trasig kod som du felsöker. Här kan vi sätta in ändringarna på ett säkert sätt, dra versionen från förvaret och sedan ta bort din kod.

 git stash spara - hålla index 

eller

 git stash 
 git pull git stash pop 

Om det finns vissa konflikter efter att du har stash-stashen, bör du lösa dem på vanligt sätt. Du kan också använda kommandot:

 git stash applicera 

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

Om sammanslagning inte verkar vara ett genomförbart alternativ för dig, kan du överväga att göra en omprövning. Omplacering är processen att flytta eller kombinera en sekvens med åtaganden till en ny basåtagande. Ändra koden 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 begå allt du inte vill skriva över och sedan följa 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 kassan sökväg / till / fil / att / återgå 

eller

 git checkout HEAD ^ path / to / file / to / revert 

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

 git reset HEAD path / to / file / to / revert 

Fortsätt sedan med dragkommandot:

 git pull 

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

Intressanta Artiklar