Kaip ištaisyti „Git“ klaidą „Vietiniai šių failų pakeitimai bus perrašyti sujungus“

Klaidos pranešimas „ Vietiniai šių failų pakeitimai bus perrašyti sujungus “ įvyksta „Git“ versijos valdymo mechanizme. Ši klaida atsiranda, jei modifikavote failą, kuris taip pat turi pakeitimų nuotoliniame saugykloje.

„Git“ klaida: Vietiniai šių failų pakeitimai bus perrašyti sujungiant

Šio klaidos pranešimo vengiama, jei nuotoliniame saugykloje nėra neskelbtų failų, kurie taip pat būtų modifikuoti. Patiriant šią žinią, geriausia pasitarti su kitais komandos nariais ir paklausti jų nuomonės. Nesvarbu, ar norite sujungti vietinius pakeitimus, ar palikti versiją saugykloje, geriausia laikyti visus laive.

Kas yra saugyklos? Kas yra „stumti ir traukti“ Gitas?

Saugykla yra tam tikra kodo saugykla, kurią komandos nariai nuolat modifikuoja ir gauna naudodamiesi „GitHub“ versijos valdymo mechanizmu. „ Patraukimas“ reiškia, kad jūs įtraukiate naujausią saugyklos versiją į vietinę saugyklą / IDE (integruotą kūrimo aplinką), pvz., „Pycharm“ ir kt.

Po „Pull“ atliksite kodo pakeitimus arba pridėsite daugiau funkcijų. Baigę kodą „ perkelsite“ į saugyklą, kad pakeitimai būtų išsaugoti ir būtų daromi papildymai. Kodas tampa prieinamas ir kitiems žmonėms.

Jei dar nesinaudojote „Github“ versijos valdymu, pirmiausia rekomenduojama pereiti visus pagrindus. Šiame straipsnyje darome prielaidą, kad jūs jau turite bazinių žinių ir žinote visas puses ir trūkumus.

Kaip pataisyti „Vietiniai šių failų pakeitimai bus perrašyti sujungus“?

Šio klaidos pranešimo skiriamoji geba priklauso nuo to, ką norite padaryti. Galite atsisakyti vietinių pakeitimų ir surinkti tuos, kurie yra saugykloje, arba galite išsaugoti vietinius pakeitimus pakeliui ir ištraukti versiją iš saugyklos. Viskas priklauso nuo jūsų pasirinkimo.

Taigi mes rekomenduojame pasikonsultuoti su savo komandos nariais ir įsitikinti, kad visi esate tame pačiame puslapyje prieš judėdami į priekį. Jei neteisingai pasielgsite arba paspausite netinkamą versiją, tai gali paveikti visą komandą.

1 būdas: Priverstinis traukimas perrašyti vietinius pakeitimus

Jei jums nerūpi pakeitimai, atlikti vietoje, ir norite gauti kodą iš saugyklos, galite priversti traukti. Tai perrašys visus vietinius jūsų kompiuteryje atliktus pakeitimus, atsiras saugyklos versijos kopija.

Savo IDE vykdykite šias komandas:

 git reset - sunkus git traukimas 

Tai akimirksniu sunaikins visus vietinius pakeitimus, todėl įsitikinkite, kad žinote, ką darote, ir jums nereikia vietinių pakeitimų.

2 būdas: išlaikyti abu pakeitimus (vietinius ir atkuriamus)

Jei norite palikti abu pakeitimus (pakeitimus, atliktus vietoje ir pakeitimus, esančius saugykloje), galite pridėti ir įvesti pakeitimus. Kai traukiate, akivaizdžiai įvyks susijungimo konfliktas. Čia galite naudoti IDE įrankius (pvz., „Difftool“ ir „mergetool“), kad palygintumėte du kodo elementus ir nustatytumėte, kuriuos pakeitimus laikyti ir kuriuos pašalinti. Tai yra vidurio kelias; jokie pakeitimai nebus prarasti, kol rankiniu būdu jų nepašalinsite.

 git add $ the_file_under_error git įsipareigoti git pull 

Kai gausite suliejimo konfliktą, nugręžkite tuos konfliktų sprendimo įrankius ir patikrinkite kiekvieną eilutę.

3 metodas: Laikykitės abiejų pakeitimų, bet ne įsipareigokite

Retkarčiais tokia situacija nutinka, kai kūrėjai nėra pasirengę įsipareigoti, nes yra koks nors iš dalies sugadintas kodas, kurį dedate. Čia galime saugiai saugoti pakeitimus, ištraukti versiją iš saugyklos ir ištrinti savo kodą.

 git stash save - išlaikymo indeksas 

arba

 Git Atlicināt 
 git pull git stash pop 

Jei po to, kai pasirodysite, yra keletas konfliktų, turėtumėte juos išspręsti įprastu būdu. Taip pat galite naudoti komandą:

 Git Atlicināt 

vietoj pop, jei dėl konfliktų nesate pasirengę prarasti pažymėto kodo.

Jei suliejimas jums neatrodo perspektyvus pasirinkimas, apsvarstykite galimybę atlikti atnaujinimą. Rebasingas yra įpareigojimų sekos perkėlimas ar sujungimas į naują pagrindinį įsipareigojimą. Remonto atveju pakeiskite kodą į:

 git stash git pull - pagrindinės kilmės meistras git stash pop 

4 būdas: pakeiskite „specifines“ kodo dalis

Jei norite pakeisti tam tikras kodo dalis ir nenorite visko pakeisti, galite įsipareigoti visko, ko nenorite perrašyti, ir atlikite 3 metodą. Pakeitimams, kuriuos atlikote, galite naudoti šią komandą. norite perrašyti iš saugykloje esančios versijos:

 Git Checkout kelias / į / failą / į / grąžinti 

arba

 GIT Checkout HEAD ^ kelias / į / failą / į / sugrąžinti 

Be to, turite įsitikinti, kad failas nėra išdėstytas per:

 atkurti HEAD kelią / į / failą / į / sugrąžinti 

Tada vykdykite komandą „traukti“:

 git traukti 

Tada bus bandoma nuskaityti versiją iš saugyklos.

Įdomios Straipsniai