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



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Klaidos pranešimas „ Jūsų vietiniai šių failų pakeitimai bus perrašyti sujungiant “Atsiranda„ Git “versijos valdymo mechanizme. Ši klaida įvyksta, jei pakeitėte failą, kuris taip pat turi pakeitimų nuotolinėje saugykloje.

Gito klaida: Koduojant vietiniai šių failų pakeitimai bus perrašyti sujungiant

„Git“ klaida: sujungus vietiniai šių failų pakeitimai bus perrašyti



Šio klaidos pranešimo išvengiama, jei nuotolinėje saugykloje nėra neįvykdytų failų, kurie taip pat turi pakeitimų. Patiriant šią žinutę, geriausia pasikonsultuoti su kitais komandos nariais ir paprašyti jų nuomonės. Nesvarbu, ar norite sujungti vietinius pakeitimus, ar palikti versiją saugykloje, geriausia visus laikyti laive.



Kas yra saugyklos? Kas yra „push and pull“ „Git“?

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

Po „Pull“ atliksite kodo pakeitimus arba pridėsite daugiau funkcijų. Kai baigsite, jūs Stumti ’ kodą į saugyklą, todėl pakeitimai išsaugomi ir daromi papildymai. Kodas prieinamas ir kitiems žmonėms.

Jei dar nesinaudojote „Github“ versijos valdymu, rekomenduojama pirmiausia atlikti visus pagrindus. Šiame straipsnyje mes manome, kad jūs jau turite pagrindinių žinių ir žinote visus trūkumus.



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

Šio klaidos pranešimo skiriamoji geba priklauso nuo to, ką norite padaryti. Galite atmesti vietinius pakeitimus ir traukti juos į saugyklą, arba galite išsaugoti vietinius pakeitimus į talpyklą ir ištraukti versiją iš saugyklos. Viskas priklauso nuo jūsų pageidavimų.

Todėl rekomenduojame pasikonsultuoti su savo komandos nariais ir įsitikinti, kad esate visi tame pačiame puslapyje prieš judant į priekį. Jei įsipareigojate neteisingai arba pateikiate neteisingą versiją, tai gali paveikti visą komandą.

1 metodas: priversti traukti perrašyti vietinius pokyčius

Jei tu nerūpi vietoje atlikti pakeitimai ir norite gauti kodą iš saugyklos, galite priversti traukti. Tai perrašys visus lokalius pakeitimus, atliktus jūsų kompiuteryje, pasirodys saugykloje esančios versijos kopija.

Savo IDE vykdykite šias komandas:

git reset - sunkus git pull

Tai iškart sunaikins visus jūsų vietinius pakeitimus, todėl įsitikinkite, kad žinote, ką darote, ir jums nereikia vietinių pakeitimų.

2 metodas: išlaikyti abu pakeitimus (vietinius ir iš atpirkimo)

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

git pridėti $ the_file_under_error git įsipareigoti git pull

Gavę susijungimo konfliktą, iššaukite tuos konfliktų sprendimo įrankius ir patikrinkite eilutę po eilutės.

3 metodas: išlaikyti abu pakeitimus, bet neįvykdyti

Ši situacija kartkartėmis pasitaiko, kai kūrėjai nėra pasirengę įsipareigoti, nes yra iš dalies sugadintas kodas, kurį jūs derinate. Čia galime saugiai paslėpti pakeitimus, ištraukti versiją iš saugyklos ir tada ištrinti kodą.

git stash save --keep-index

arba

git stash
git pull git stash pop

Jei iškilus kokiems nors konfliktams po to, kai iššokate, jūs turėtumėte juos išspręsti įprastu būdu. Taip pat galite naudoti komandą:

taikoma git atlicināt

vietoj popso, jei nesate pasirengęs prarasti paslėptą kodą dėl konfliktų.

Jei sujungimas jums neatrodo tinkamas variantas, apsvarstykite galimybę atlikti pakartotinę bazę. Perkėlimas iš naujo yra procesas, perkeliantis arba sujungiantis įsipareigojimų seką naujam pagrindiniam įsipareigojimui. Pakartotinio pakeitimo atveju pakeiskite kodą į:

git stash git pull - „rebase origin master git stash pop “

4 metodas: keiskite „konkrečias“ savo kodo dalis

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

„git“ kasos kelias / į / failą / į / grąžinti

arba

git checkout HEAD ^ kelias / į / failą / į / grąžinti

Be to, turite įsitikinti, kad failas nėra surežisuotas per:

git reset HEAD kelias / į / failą / į / grąžinti

Tada atlikite traukimo komandą:

git traukti

Tada bandysite gauti versiją iš saugyklos.

3 minutes perskaityta