Sådan rettes Git Error & lsquo; Dine lokale ændringer til følgende filer overskrives af fusion & rsquo;

Fejlmeddelelsen " Dine lokale ændringer til følgende filer overskrives ved sammenfletning " forekommer i Git-versionskontrolmekanismen. Denne fejl opstår, hvis du har ændret en fil, der også har ændringer i fjernlageret.

Git-fejl: Dine lokale ændringer i følgende filer overskrives ved sammenfletning under kodning

Denne fejlmeddelelse undgås, HVIS der ikke er nogen uforpligtede filer, der også har ændringer i det eksterne lager. Når du oplever denne besked, er det bedst at konsultere dine andre teammedlemmer og bede om deres mening. Uanset om du vil flette dine lokale ændringer eller holde versionen til stede i lageret, er det bedst at holde alle om bord.

Hvad er arkiver? Hvad er push and pull i Git?

Et lager er en slags opbevaring af kode, som konstant ændres og opnås af teammedlemmer via GitHub-versionskontrolmekanismen. En ' Pull' betyder, at du trækker den nyeste version af lageret til dit lokale lager / IDE (Integreret Udviklingsmiljø) såsom Pycharm osv.

Efter et pull foretager du ændringer i koden eller tilføjer flere funktioner. Når du er færdig, skal du ' skubbe' koden til arkivet, så ændringer gemmes og tilføjelser foretages. Koden bliver også tilgængelig for andre mennesker.

Hvis du er ny med Github-versionskontrol, anbefales det, at du gennemgår alt det grundlæggende først. I denne artikel antager vi, at du allerede har grundlæggende viden og kender alle ind og ud.

Hvordan løser man 'Dine lokale ændringer i følgende filer overskrives ved sammenfletning'?

Løsningen på denne fejlmeddelelse afhænger af, hvad du vil gøre. Du kan kassere dine lokale ændringer og trække dem i arkivet, eller du kan gemme dine lokale ændringer i en stash og trække versionen fra lageret. Det hele afhænger af din præference.

Derfor anbefaler vi, at du konsulterer dine teammedlemmer og sørger for, at du alle er på samme side, inden du går videre. Hvis du begår forkert eller skubber den forkerte version, kan det påvirke hele holdet.

Metode 1: Tvinger et træk til at overskrive lokale ændringer

Hvis du ikke er ligeglad med de ændringer, der er foretaget lokalt og vil hente koden fra arkivet, kan du tvinge et træk. Dette overskriver alle de lokale ændringer, der er foretaget på din computer, og en kopi af versionen i arkivet vises.

Udfør følgende kommandoer i din IDE:

git reset - hård git pull

Dette ødelægger øjeblikkeligt alle dine lokale ændringer, så sørg for at du ved hvad du laver og ikke har brug for dine lokale ændringer.

Metode 2: Opbevaring af begge ændringer (lokal og fra repo)

Hvis du vil beholde begge ændringer (ændringer foretaget lokalt og ændringer til stede i lageret), kan du tilføje og begå dine ændringer. Når du trækker, vil der naturligvis være en fusionskonflikt. Her kan du bruge værktøjerne i din IDE (såsom Difftool og mergetool) til at sammenligne de to stykker kode og bestemme, hvilke ændringer der skal gemmes, og hvilke der skal fjernes. Dette er den midterste vej; ingen ændringer går tabt, før du manuelt fjerner dem.

git tilføj $ the_file_under_error git commit git pull

Når du får en fusionskonflikt, skal du pope disse værktøjer til konfliktløsning og kontrollere linje for linje.

Metode 3: Behold af begge ændringer, MEN ikke forpligtelse

Denne situation sker fra tid til anden, hvor udviklere ikke er klar til at begå, fordi der er en delvist ødelagt kode, som du debugger. Her kan vi gemme ændringerne sikkert, trække versionen fra lageret og derefter fjerne din kode.

git stash save --keep-index

eller

git stash
git pull git stash pop

Hvis der er nogle konflikter, når du har slået stashet op, skal du løse dem på den sædvanlige måde. Du kan også bruge kommandoen:

git stash gælder

i stedet for pop, hvis du ikke er klar til at miste den lagrede kode på grund af konflikter.

Hvis fletning ikke virker som en levedygtig mulighed for dig, skal du overveje at lave en rebase. Ombasering er processen med at flytte eller kombinere en række forpligtelser til en ny basisforpligtelse. I tilfælde af rebasing skal du ændre koden til:

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

Metode 4: Foretag ændringer i 'specifikke' dele af din kode

Hvis du vil foretage ændringer i bestemte dele af koden og ikke ønsker at erstatte alt, kan du begå alt, hvad du ikke vil overskrive og derefter følge metode 3. Du kan bruge følgende kommando til de ændringer, som du vil overskrive fra den version, der findes i arkivet:

git checkout sti / til / fil / for / vende tilbage

eller

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

Du skal også sørge for, at filen ikke iscenesættes via:

git nulstil HEAD-sti / til / fil / for / vende tilbage

Fortsæt derefter med pull-kommandoen:

git pull

Dette forsøger derefter at hente versionen fra lageret.

Anbefalet

Fix: Minecraft svarer ikke
Hvad er applikation til registrering af digital tv-tuner-enhed, og skal den fjernes?
Hvad er FileRepMalware, og skal du fjerne det