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