Kako riješiti Git Error "Vaše lokalne promjene u sljedećim datotekama bit će prebrisane spajanjem"
Poruka pogreške " Vaše lokalne promjene u sljedećim datotekama bit će prebrisane spajanjem " pojavljuje se u upravljačkom mehanizmu Git verzije. Do ove pogreške dolazi ako ste izmijenili datoteku koja također ima modifikacije u udaljenom spremištu.
Izbjegava se ova poruka o pogrešci AKO nema nepotpunih datoteka koje također imaju modifikacije u udaljenom spremištu. Kada doživljavate ovu poruku, najbolje je konzultirati članove svog drugog tima i pitati za njihovo mišljenje. Bez obzira želite li spojiti svoje lokalne promjene ili zadržati verziju prisutnu u skladištu, najbolje je da svi budu u vozilu.
Što su skladišta? Što su push i pull u Gitu?
Repozitorij je vrsta spremišta za kôd koji se stalno mijenja i dobiva od članova tima putem mehanizma kontrole GitHub verzije. " Povlačenje" znači da povlačite najnoviju verziju spremišta u svoje lokalno spremište / IDE (integrirano razvojno okruženje), poput Pycharma itd.
Nakon povlačenja unosite izmjene u kod ili dodajete dodatne značajke. Nakon što završite, kôd ' gurnite' u spremište tako da se promjene spremaju i dodaju dodaci. Kôd je dostupan i drugim osobama.
Ako ste novi u kontroli verzije Github-a, preporučuje se da prvo prođete sve osnove. U ovom članku pretpostavljamo da već imate osnovno znanje i znate sve ulaze i ishode.
Kako popraviti "Vaše lokalne promjene u sljedećim datotekama spajanjem obrisat će se"?
Rješavanje ove poruke o pogrešci ovisi o tome što želite učiniti. Možete odbaciti lokalne promjene i povući ih u spremištu ili možete spremiti svoje lokalne promjene u spremište i povući verziju iz spremišta. Sve ovisi o vašoj želji.
Stoga vam preporučujemo da se prije kretanja naprijed konzultirate sa članovima vašeg tima i provjerite jeste li svi na istoj stranici . Ako pogrešno počnete ili gurnete pogrešnu verziju, to bi moglo utjecati na čitav tim.
1. metoda: prisiljavanje poteza za prepisivanje lokalnih promjena
Ako vas ne zanimaju promjene napravljene lokalno i želite dobiti kôd iz skladišta, možete natjerati. Ovo će prebrisati sve lokalne promjene učinjene na vašem računalu, pojavit će se dvostruka kopija verzije u spremištu.
Izvršite sljedeće naredbe u vašem IDE-u:
git resetiranje - hard git pull
To će odmah uništiti sve vaše lokalne promjene, pa se pobrinite da znate što radite i ne trebaju vam lokalne promjene.
Druga metoda: Zadržavanje obje promjene (lokalne i od ponovnog)
Ako želite zadržati obje promjene (promjene napravljene lokalno i promjene prisutne u spremištu), možete dodati i izvršiti promjene. Kad povučete, očito će doći do sukoba spajanja. Ovdje možete koristiti alate u IDE-u (poput Difftool-a i mergetool-a) da biste usporedili dva dijela koda i odredili 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 add $ the_file_under_error git počiniti git pull
Kad dođe do sukoba spajanja, dodajte te alate za rješavanje sukoba i provjerite red po red.
Treća metoda: Pridržavanje obje promjene, ali NE počinjanje
Ova se situacija događa s vremena na vrijeme kada se programeri nisu spremni obvezati jer postoji neki djelomično slomljeni kod koji uklanjate pogreškama. Ovdje možemo sigurno spremiti promjene, izvući verziju iz skladišta i zatim ukloniti kôd.
git stash save --keke-indeks
ili
git stash
git pull git stash pop
Ako postoje neki sukobi nakon što stavite spremnik, trebali biste ih riješiti na uobičajen način. Možete koristiti i naredbu:
primjenjuju se git stash
umjesto pop ako niste spremni izgubiti skriveni kod zbog sukoba.
Ako se spajanje ne čini za vas održivom opcijom, razmislite o ponovnom povezivanju. Oslobađanje je proces premještanja ili kombiniranja niza obveza na novu osnovnu odredu. U slučaju ponovnog izdavanja, promijenite kôd na:
git stash git pull --rebase origin master git stash pop
4. metoda: unesite promjene u "određene" dijelove svog koda
Ako želite izvršiti promjene na određenim dijelovima koda i ne želite zamijeniti sve, možete izvršiti sve što ne želite prebrisati, a zatim slijedite metodu 3. Za promjene koje koristite možete koristiti sljedeću naredbu želite prebrisati iz verzije prisutne u spremištu:
git checkout put / do / file / to / vratiti
ili
git checkout GLAVA ^ put / do / datoteka / do / povratak
Također morate biti sigurni da datoteka nije postavljena putem:
git resetiraj HEAD put / do / datoteka / do / povratak
Zatim nastavite s naredbom izvlačenja:
git pull
Nakon toga će se pokušati preuzeti verzija iz skladišta.