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
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