Kā labot Git kļūdu: “Vietējās izmaiņas šādos failos tiks pārrakstītas apvienojot”

Kļūdas ziņojums “ Vietējās izmaiņas šādos failos tiks pārrakstītas apvienojot ” parādās Git versijas kontroles mehānismā. Šī kļūda rodas, ja esat modificējis failu, kuram ir arī modifikācijas attālajā krātuvē.

Git kļūda: Vietējās izmaiņas šajos failos tiks pārrakstītas apvienojot

Šis kļūdas ziņojums tiek novērsts, ja attālajā repozitorijā nav nepiespiestu failu, kuriem ir arī modifikācijas. Piedzīvojot šo ziņu, vislabāk ir konsultēties ar citiem komandas biedriem un lūgt viņu viedokli. Neatkarīgi no tā, vai vēlaties apvienot vietējās izmaiņas vai saglabāt versiju esošajā krātuvē, vislabāk ir turēt visus uz klāja.

Kas ir krātuves? Kas ir push un pull in Git?

Repozitorijs ir sava veida koda krātuve, kuru pastāvīgi modificē un iegūst komandas dalībnieki, izmantojot GitHub versiju kontroles mehānismu. “ Ievelciet” nozīmē, ka jūs ievietojat krātuves jaunāko versiju vietējā krātuvē / IDE (Integrētā attīstības vide), piemēram, Pycharm utt.

Pēc vilkšanas veicat izmaiņas kodā vai pievienojat citas funkcijas. Kad esat pabeidzis, kods " jānospiež" krātuvē, lai izmaiņas tiktu saglabātas un tiktu veikti papildinājumi. Kods kļūst pieejams arī citiem cilvēkiem.

Ja jūs vēl neesat izmantojis Github versiju vadību, ieteicams vispirms izpētīt visus pamatus. Šajā rakstā mēs pieņemam, ka jums jau ir pamatzināšanas un zināt visas priekšrocības un trūkumus.

Kā salabot “Vietējās izmaiņas šādos failos tiks pārrakstītas apvienojot”?

Šī kļūdas ziņojuma izšķirtspēja ir atkarīga no tā, ko vēlaties darīt. Jūs varat atmest vietējās izmaiņas un ievilkt tās krātuvē vai arī saglabāt vietējās izmaiņas krātuvē un izvilkt versiju no krātuves. Tas viss ir atkarīgs no jūsu vēlmēm.

Tāpēc mēs iesakām konsultēties ar saviem komandas biedriem un pārliecināties, ka visi esat vienā lapā, pirms virzāties uz priekšu. Ja jūs nepareizi izdarīsit vai uzspiedīsit nepareizo versiju, tas varētu ietekmēt visu komandu.

1. metode: piespiežot pārrakstīt vietējās izmaiņas

Ja jums nerūp vietējā līmenī veiktās izmaiņas un vēlaties iegūt kodu no krātuves, varat piespiest. Tas pārrakstīs visas vietējās izmaiņas, kas veiktas jūsu datorā, parādīsies repozitorijā esošās versijas dublikāts.

Savā IDE izpildiet šādas komandas:

 git reset - cieta git pull 

Tas uzreiz iznīcinās visas vietējās izmaiņas, tāpēc pārliecinieties, ka zināt, ko darāt, un vietējās izmaiņas jums nav vajadzīgas.

2. metode: abu izmaiņu saglabāšana (vietējās un no repo)

Ja vēlaties saglabāt abas izmaiņas (izmaiņas tiek veiktas lokāli un izmaiņas, kas atrodas repozitorijā), varat pievienot un saistīt izmaiņas. Kad jūs velciet, acīmredzot būs apvienošanās konflikts. Šeit jūs varat izmantot IDE rīkus (piemēram, Difftool un mergetool), lai salīdzinātu abus koda gabalus un noteiktu, kuras izmaiņas saglabāt un kuras noņemt. Šis ir vidusceļš; nekādas izmaiņas netiks zaudētas, kamēr tās manuāli nenoņemsit.

 git pievienot $ the_file_under_error git izdarīt git pull 

Kad rodas apvienošanās konflikts, izlejiet šos konfliktu risināšanas rīkus un pārbaudiet katru rindiņu.

3. metode: saglabāt abas izmaiņas, BET neuzticoties

Laiku pa laikam rodas šāda situācija, kad izstrādātāji nav gatavi uzņemties saistības, jo ir kāds daļēji salauzts kods, kuru jūs atkļūdojat. Šeit mēs varam droši glabāt izmaiņas, izvilkt versiju no krātuves un pēc tam atšifrēt jūsu kodu.

 Git stash save - uzturēšanas indekss 

vai

 git atlicināt 
 git pull git atlicināt pop 

Ja pēc atlicināšanas ir kādi konflikti, tie jāatrisina parastajā veidā. Varat arī izmantot komandu:

 Git atlicināt piemērot 

nevis pop, ja konfliktu dēļ neesat gatavs zaudēt iesaldēto kodu.

Ja sapludināšana jums nešķiet reāla iespēja, apsveriet iespēju veikt atkārtotu ieviešanu. Rebasing ir process, kurā pārvietojas vai apvieno saistības virkni uz jaunu bāzes saistību. Restaurācijas gadījumā nomainiet kodu uz:

 git stash git pull - rebase izcelsmes meistars git stash pop 

4. metode. Veiciet izmaiņas “īpašās” koda daļās

Ja vēlaties veikt izmaiņas noteiktās koda daļās un nevēlaties visu aizstāt, varat apņemties veikt visu, ko nevēlaties pārrakstīt, un pēc tam izpildiet 3. metodi. Izmaiņām, kuras jūs izmantojat, varat izmantot šo komandu vēlaties pārrakstīt no krātuvē esošās versijas:

 GIT izrakstīšanās ceļš / uz / fails / uz / atgriezties 

vai

 GIT checkout HEAD ^ ceļš / uz / fails / uz / atgriezties 

Turklāt jums jāpārliecinās, ka fails netiek iestudēts, izmantojot:

 git reset HEAD ceļš / uz / fails / uz / atgriezties 

Pēc tam turpiniet ar komandu pull:

 git pull 

Pēc tam mēģinās izgūt versiju no krātuves.

Interesanti Raksti