Hvordan fikse Git Error & quot; Dine lokale endringer i følgende filer vil bli overskrevet av fusjon & rsquo;

Feilmeldingen " Dine lokale endringer i følgende filer vil bli overskrevet av flette " oppstår i Git versjonskontrollmekanisme. Denne feilen oppstår hvis du har endret en fil som også har endringer i det eksterne depotet.

Git-feil: Dine lokale endringer i følgende filer vil bli overskrevet ved sammenslåing under koding

Denne feilmeldingen unngås HVIS det ikke er noen uforpliktende filer som også har endringer i det eksterne lagringsområdet. Når du opplever denne meldingen, er det best å konsultere dine andre teammedlemmer og be om deres mening. Enten du vil slå sammen dine lokale endringer eller holde versjonen til stede i depotet, er det best å holde alle ombord.

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

Et depot er en slags lagring for kode som kontinuerlig modifiseres og oppnås av teammedlemmer gjennom GitHub-versjonskontrollmekanismen. En ' Pull' betyr at du trekker den siste versjonen av depotet til din lokale lagring / IDE (Integrated Development Environment) som Pycharm etc.

Etter et trekk gjør du endringer i koden eller legger til flere funksjoner. Når du er ferdig, skyver du koden på depotet slik at endringene lagres og tillegg gjøres. Koden blir også tilgjengelig for andre mennesker.

Hvis du ikke har Github versjonskontroll, er det anbefalt at du går gjennom alt det grunnleggende først. I denne artikkelen antar vi at du allerede har grunnleggende kunnskaper og kjenner til alle detaljene.

Hvordan fikser jeg 'Dine lokale endringer i følgende filer vil bli overskrevet av fusjon'?

Løsningen på denne feilmeldingen avhenger av hva du vil gjøre. Du kan forkaste lokale endringer og trekke de i arkivet, eller du kan lagre de lokale endringene i en stash og hente versjonen fra depotet. Alt avhenger av dine preferanser.

Derfor anbefaler vi at du rådfører deg med teammedlemmene dine og sørger for at alle er på samme side før du går videre. Hvis du begår feil eller skyver feil versjon, kan det påvirke hele teamet.

Metode 1: Tvinge et trekk for å overskrive lokale endringer

Hvis du ikke bryr deg om endringene som er gjort lokalt og vil hente koden fra depotet, kan du tvinge et trekk. Dette vil overskrive alle lokale endringer som er gjort på datamaskinen din, og en kopi av versjonen i depotet vises.

Utfør følgende kommandoer i IDE:

git reset - hard git pull

Dette vil umiddelbart ødelegge alle dine lokale endringer, så sørg for at du vet hva du gjør og ikke trenger dine lokale endringer.

Metode 2: Holde begge endringene (lokale og fra repo)

Hvis du vil beholde begge endringene (endringene som er gjort lokalt og endringene som finnes i depotet), kan du legge til og foreta endringene. Når du trekker, vil det åpenbart være en sammenslåingskonflikt. Her kan du bruke verktøyene i IDE (for eksempel Difftool og mergetool) for å sammenligne de to kodene og bestemme hvilke endringer du skal beholde og hvilke du skal fjerne. Dette er midtveien; ingen endringer vil gå tapt før du fjerner dem manuelt.

git legg til $ the_file_under_error git commit git pull

Når du får en sammenslåingskonflikt, trykk de verktøyene for konfliktløsing og sjekk linje for linje.

Metode 3: Å beholde begge endringene MEN ikke forplikte seg

Denne situasjonen skjer fra tid til annen der utviklere ikke er klare til å forplikte seg fordi det er noe delvis ødelagt kode som du feilsøker. Her kan vi skjule endringene trygt, hente versjonen fra depotet og deretter fjerne koden din.

git stash save --keep-index

eller

git stash
git pull git stash pop

Hvis det er noen konflikter etter at du har stashet, bør du løse dem på vanlig måte. Du kan også bruke kommandoen:

git stash gjelder

i stedet for pop hvis du ikke er klar til å miste den stashede koden på grunn av konflikter.

Hvis sammenslåing ikke virker som et levedyktig alternativ for deg, bør du vurdere å gjøre en rebase. Rebasing er prosessen med å flytte eller kombinere en sekvens av forpliktelser til en ny basisforpliktelse. Ved rebasing, endre koden til:

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

Metode 4: Gjør endringer i 'spesifikke' deler av koden din

Hvis du vil gjøre endringer i bestemte deler av koden og ikke ønsker å erstatte alt, kan du forplikte alt du ikke vil overskrive og deretter følge metode 3. Du kan bruke følgende kommando for endringene du vil overskrive fra versjonen som finnes i depotet:

git checkout path / to / file / to / revert

eller

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

Du må også sørge for at filen ikke blir iscenesatt via:

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

Fortsett deretter med pull-kommandoen:

git pull

Dette vil da forsøke å hente versjonen fra depotet.

Anbefalt

Fix: Minecraft svarer ikke
Hva er Digital TV Tuner Device Application Application og bør det fjernes?
Hva er FileRepMalware og bør du fjerne det