Kako ispraviti grešku u Git-u 'Spajanje će se prebrisati preko lokalnih promjena u sljedećim datotekama'



Isprobajte Naš Instrument Za Uklanjanje Problema

Poruka pogreške ' Vaše lokalne promjene sljedećih datoteka bit će prepisane spajanjem ”Javlja se u mehanizmu kontrole verzije Git-a. Do ove pogreške dolazi ako ste izmijenili datoteku koja također ima izmjene u udaljenom spremištu.



Git pogreška: Vaše lokalne promjene sljedećih datoteka bit će prepisane spajanjem tijekom kodiranja

Git pogreška: Vaše lokalne promjene sljedećih datoteka bit će prepisane spajanjem



Ova se poruka o pogrešci izbjegava AKO u udaljenom spremištu ne postoje nepokrenute datoteke koje također imaju izmjene. Kada doživljavate ovu poruku, najbolje je konzultirati se s ostalim članovima tima i zatražiti njihovo mišljenje. Bez obzira želite li spojiti svoje lokalne promjene ili zadržati verziju prisutnu u spremištu, najbolje je da svi budu na brodu.



Što su spremišta? Što su push i pull u Gitu?

Spremište je vrsta spremišta za kôd koje članovi tima neprestano modificiraju i dobivaju putem mehanizma kontrole verzije GitHub. A Vuci' znači da povlačite najnoviju verziju spremišta na lokalnu pohranu / IDE (Integrirano razvojno okruženje) kao što je Pycharm itd.

Nakon povlačenja izvršite promjene u kodu ili dodajte više značajki. Kad završite, ‘ Gurnuti' koda na spremište tako da se promjene spremaju i dodaju. Kôd postaje dostupan i drugim ljudima.

Ako ste novi u kontroli verzije Github-a, preporučuje se da prvo prođete kroz sve osnove. U ovom članku pretpostavljamo da već imate osnovno znanje i da znate sve detalje.



Kako popraviti 'Spajanje će se prebrisati preko lokalnih promjena u sljedećim datotekama'?

Razlučivost ove poruke o pogrešci ovisi o tome što želite učiniti. Možete odbaciti svoje lokalne promjene i povući one u spremištu ili možete spremiti lokalne promjene u spremnik i povući verziju iz spremišta. Sve ovisi o vašoj želji.

Stoga vam preporučujemo da se posavjetujete sa članovima svog tima i provjerite jeste li svi na ista stranica prije kretanja naprijed. Ako počinite pogrešno ili potisnete pogrešnu verziju, to bi moglo utjecati na cijeli tim.

Metoda 1: Prisiljavanje povlačenja da prepiše lokalne promjene

Ako ti ne brinu za promjene izvršene lokalno i želite dobiti kod iz spremišta, možete prisiliti povlačenje. Ovo će prebrisati sve lokalne promjene izvršene na vašem računalu. Pojavit će se duplikat verzije u spremištu.

Izvršite sljedeće naredbe u svom IDE-u:

git reset - hard git pull

Ovo će odmah uništiti sve vaše lokalne promjene, pa budite sigurni da znate što radite i da vam lokalne promjene nisu potrebne.

Metoda 2: zadržavanje obje promjene (lokalno i iz repo-a)

Ako želite zadržati obje promjene (promjene izvršene lokalno i promjene prisutne u spremištu), možete dodati i urediti promjene. Kad povučete, očito će doći do sukoba spajanja. Ovdje možete koristiti alate u svom IDE-u (poput Difftool i mergetool) za usporedbu dva dijela koda i određivanje koje promjene zadržati, a koje ukloniti. Ovo je srednji put; nikakve promjene neće biti izgubljene dok ih ručno ne uklonite.

git dodaj $ the_file_under_error git commit git pull

Kada dobijete sukob spajanja, iskočite te alate za rješavanje sukoba i provjerite redak po redak.

Metoda 3: Zadržavanje obje promjene, ALI ne počinjenje

Ta se situacija događa s vremena na vrijeme kada programeri nisu spremni izvršiti obvezu jer postoji neki djelomično slomljeni kôd koji otklanjate pogreške. Ovdje možemo sigurno sakriti promjene, izvući verziju iz spremišta, a zatim otpakirati kôd.

git stash save --keep-index

ili

git skrivanje
git pull git stash pop

Ako postoje neki sukobi nakon što otvorite skrivanje, trebali biste ih riješiti na uobičajeni način. Također možete upotrijebiti naredbu:

primijeniti git stash

umjesto pop ako niste spremni izgubiti skriveni kod zbog sukoba.

Ako vam se spajanje ne čini održivom opcijom, razmislite o ponovnoj bazi podataka. Predefiniranje je postupak premještanja ili kombiniranja niza predavanja u novi osnovni zapis. U slučaju ponovnog podnošenja koda, promijenite kôd u:

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

4. metoda: Izmijenite 'određene' dijelove koda

Ako želite unijeti promjene u određene dijelove koda i ne želite sve zamijeniti, možete počiniti sve što ne želite prebrisati, a zatim slijedite metodu 3. Možete koristiti sljedeću naredbu za promjene koje želite prebrisati iz verzije prisutne u spremištu:

git checkout put / do / datoteke / do / vraćanja

ili

git checkout HEAD ^ put / do / datoteke / do / vraćanja

Također, morate osigurati da datoteka nije uprizorena putem:

git reset HEAD put / do / datoteke / do / vraćanja

Zatim nastavite s naredbom povuci:

git pull

Tada će se pokušati dohvatiti verzija iz spremišta.

3 minute čitanja