Kako ispraviti Git pogrešku & lsquo; Vaše lokalne promjene sljedećih datoteka bit će prebrisane spajanjem & rsquo;

Poruka pogreške " Vaše lokalne promjene sljedećih datoteka bit će prepisane spajanjem " pojavljuje se u mehanizmu za kontrolu verzije Git. 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

Ova se poruka pogreške 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 pohrane koda koju članovi tima neprestano modificiraju i dobivaju putem GitHub mehanizma kontrole verzije. ' Povuci' 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. Kada završite, ' gurnete' kôd u 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 "Vaše lokalne promjene sljedećih datoteka bit će prebrisane spajanjem"?

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 svoje lokalne promjene spremiti 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 istoj stranici prije nego što krenete 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 vam nije stalo do lokalnih promjena i želite dobiti kôd 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, zato budite sigurni da znate što radite i da vam lokalne promjene nisu potrebne.

2. metoda: 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 stapanja. Ovdje možete koristiti alate u svom IDE-u (poput Difftool i mergetool) za usporedbu dva dijela koda i određivanje koje promjene treba 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 za urezivanje 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 skrivanje spremi --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 kôd 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 prebaziranja, promijenite kod u:

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

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

Ako želite izvršiti promjene na određenim dijelovima koda i ne želite sve zamijeniti, možete predati sve što ne želite prebrisati, a zatim slijedite metodu 3. Za promjene koje koristite možete upotrijebiti sljedeću naredbu želite prepisati s 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.

Preporučeno

Popravak: Minecraft ne reagira
Što je aplikacija za registraciju uređaja za digitalni TV tuner i treba li je ukloniti?
Što je FileRepMalware i biste li ga trebali ukloniti