Giti tõrke parandamine "Järgmiste failide kohalikud muudatused kirjutatakse liitmise teel üle"

Giti versiooni juhtimismehhanismis ilmneb tõrketeade „ Järgmiste failide kohalikud muudatused kirjutatakse üle ühendamise teel ”. See tõrge ilmneb siis, kui olete modifitseerinud faili, millel on muudatused ka kaughoidlas.

Üldine viga: järgmiste failide kohalikud muudatused kirjutatakse liitmise teel üle

Seda tõrketeadet välditakse, kui kauges repositooriumis pole sidumata faile, millel oleks ka muudatusi. Selle sõnumi kogemisel on kõige parem konsulteerida oma meeskonna teiste liikmetega ja küsida nende arvamust. Ükskõik, kas soovite oma kohalikud muudatused liita või säilitada selle versiooni hoidlas, on parem hoida kõik pardal.

Mis on hoidlad? Mis on Git tõukamine?

Hoidla on omamoodi koodi salvestusruum, mida meeskonna liikmed pidevalt muudavad ja saavad GitHubi versiooni juhtimismehhanismi kaudu. „ Tõmbamine” tähendab, et tõmmate hoidla uusima versiooni oma kohalikule mäluseadmele / IDE-le (integreeritud arenduskeskkond), näiteks Pycharm jne.

Pärast tõmbamist muudate koodi või lisate täiendavaid funktsioone. Kui olete lõpetanud, " surute" koodi hoidlasse, nii et muudatused salvestatakse ja täiendused tehakse. Kood on juurdepääsetav ka teistele inimestele.

Kui olete Githubi versioonikontrolli alal alles uus, on soovitatav kõigepealt läbida kõik põhitõed. Selles artiklis eeldame, et teil on juba põhiteadmised ja teate kõiki eeliseid.

Kuidas parandada „Järgmiste failide kohalikud muudatused kirjutatakse liitmise teel üle”?

Selle tõrketeate eraldusvõime sõltub sellest, mida soovite teha. Võite loobuda oma kohalikest muudatustest ja tõmmata need hoidlasse või salvestada kohalikud muudatused tükkideks ja tõmmata versiooni hoidlast. Kõik sõltub teie eelistustest.

Seetõttu soovitame teil enne edasiliikumist konsulteerida oma meeskonna liikmetega ja veenduda, et olete kõik samal lehel . Kui võtate valesti või lükkate vale versiooni, võib see mõjutada kogu meeskonda.

1. meetod: kohalike muutuste ülekirjutamise sundimine

Kui te ei hooli kohapeal tehtud muudatustest ja soovite koodi hoidlast hankida, võite sundida tõmbama. See kirjutab üle kõik teie arvutis tehtud kohalikud muudatused, ilmub hoidlas oleva versiooni koopia.

Käivitage IDE-s järgmised käsud:

 git reset - kõva tõmme 

See hävitab kõik kohalikud muudatused koheselt, nii et veenduge, et oleksite kursis oma tegevusega ega vajaks kohalikke muudatusi.

2. meetod: mõlema muudatuse säilitamine (kohalik ja repo)

Kui soovite säilitada mõlemad muudatused (kohapeal tehtud muudatused ja hoidlas olevad muudatused), saate muudatused lisada ja kinnitada. Tõmbamisel tekib ilmselgelt ühinemiskonflikt. Siin saate IDE tööriistade abil (näiteks Difftool ja mergetool) võrrelda kahte kooditükki ja otsustada, milliseid muudatusi säilitada ja millised eemaldada. See on kesktee; ühtegi muudatust ei kaotata enne, kui olete need käsitsi eemaldanud.

 git lisada $ the_file_under_error git sitoutuma git pull 

Kui saate ühendamiskonflikti, poputage neid konfliktide lahendamise tööriistu ja kontrollige rida-realt.

3. meetod: mõlema muudatuse tegemine, kuid mitte kohustuste võtmine

Sellist olukorda juhtub aeg-ajalt, kus arendajad pole valmis kohustusi võtma, kuna seal on mõni osaliselt katkine kood, mida te silute. Siin saame muudatused ohutult salvestada, versiooni hoidlast välja tõmmata ja seejärel teie koodi lahti võtta.

 git stash save - pida-indeks 

või

 väheke jäme 
 git pull git stash pop 

Kui pärast kleidi hüppamist on mingeid konflikte, peaksite need lahendama tavalisel viisil. Võite kasutada ka käsku:

 rakendage seda vähe 

popi asemel, kui te pole konfliktide tõttu valmis kaotatud koodi kaotama.

Kui ühendamine ei tundu teie jaoks otstarbekas võimalus, kaaluge uuesti tegemise võimalust. Rebasseerimine on kohustuste jada liigutamine või kombineerimine uuele aluskohustusele. Rebaseerimise korral muutke kood järgmisteks:

 git stash git pull --rebase päritolu kapten git stash pop 

4. meetod: muutke oma koodi konkreetseid osi

Kui soovite muuta koodi konkreetseid osi ja ei soovi kõike asendada, võite teha kõik, mida te ei soovi üle kirjutada, ja järgida seejärel meetodit 3. Võite kasutada järgmist käsku muudatuste jaoks, mida te tahan hoidlas olemasolevast versioonist üle kirjutada:

 git checkout tee / faili / juurde / tagasi 

või

 git checkout HEAD ^ tee / faili / juurde / tagasi 

Lisaks peate veenduma, et faili ei lavastata järgmisel viisil:

 lähtesta HEAD tee / faili / tagasi / tagasi 

Seejärel jätkake tõmbamiskäsklusega:

 git pull 

Seejärel üritatakse versiooni repositooriumist tuua.

Huvitavad Artiklid