Kā novērst Git kļūdu “Apvienošana pārrakstīs jūsu vietējās izmaiņas šādos failos”



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Kļūdas ziņojums “ Apvienojot, tiks pārrakstītas jūsu vietējās izmaiņas šajos failos ”Notiek Git versijas vadības mehānismā. Šī kļūda rodas, ja esat modificējis failu, kuram ir modifikācijas arī attālajā repozitorijā.



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

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



Šis kļūdas ziņojums tiek novērsts, ja nav neviena neizpildīta faila, kam būtu arī modifikācijas attālajā repozitorijā. Piedzīvojot šo ziņojumu, vislabāk ir konsultēties ar citiem komandas locekļiem un lūgt viņu viedokli. Neatkarīgi no tā, vai vēlaties apvienot vietējās izmaiņas vai saglabāt versiju krātuvē, vislabāk ir turēt visus uz kuģa.



Kas ir krātuves? Kas ir push and pull Git?

Repozitorijs ir sava veida koda krātuve, kuru komandas locekļi pastāvīgi modificē un iegūst, izmantojot GitHub versijas kontroles mehānismu. A ‘ Vilkt ’ nozīmē, ka jūs velkat jaunāko krātuves versiju uz vietējo krātuvi / IDE (integrētā izstrādes vide), piemēram, Pycharm utt.

Pēc vilkšanas jūs veicat izmaiņas kodā vai pievienojat citas funkcijas. Kad esat pabeidzis, jūs Push ’ kods uz repozitoriju, tāpēc tiek saglabātas izmaiņas un veikti papildinājumi. Kods kļūst pieejams arī citiem cilvēkiem.

Ja Github versiju vadība jums ir jauna, ieteicams vispirms iziet visus pamatus. Šajā rakstā mēs pieņemam, ka jums jau ir pamatzināšanas un jūs zināt visas nepilnības.



Kā novērst ‘Apvienošana pārrakstīs jūsu vietējās izmaiņas šādos failos’?

Šī kļūdas ziņojuma izšķirtspēja ir atkarīga no tā, ko vēlaties darīt. Varat atmest savas lokālās izmaiņas un ievilkt tās repozitorijā, vai arī varat saglabāt vietējās izmaiņas atmiņā un izvilkt versiju no repozitorija. Viss ir atkarīgs no jūsu vēlmēm.

Tāpēc iesakām konsultēties ar komandas locekļiem un pārliecināties, vai jūs visi esat tajā pašā lapā pirms virzīties uz priekšu. Ja jūs rīkojaties nepareizi vai nospiežat nepareizu versiju, tas var ietekmēt visu komandu.

1. metode: piespiest vilkt, lai pārrakstītu vietējās izmaiņas

Ja jūs neinteresē izmaiņas, kas veiktas lokāli un vēlaties iegūt kodu no repozitorija, varat piespiest vilkt. Tas pārrakstīs visas lokālās izmaiņas, kas veiktas jūsu datorā, parādīsies repozitorijā esošās versijas dublikāts.

IDE izpildiet šādas komandas:

git reset - grūti git pull

Tas uzreiz iznīcinās visas jūsu vietējās izmaiņas, tāpēc pārliecinieties, ka zināt, ko darāt, un nav nepieciešamas vietējās izmaiņas.

2. metode: saglabāt abas izmaiņas (vietējās un no repo)

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

git pievienot $ the_file_under_error git izdarīt git pull

Kad rodas apvienošanās konflikts, uznirstiet tos konfliktu risināšanas rīkus un pārbaudiet pa rindai.

3. metode: saglabāt abas izmaiņas, bet neuzņemties saistības

Šī situācija laiku pa laikam notiek, kad izstrādātāji nav gatavi veikt saistības, jo ir kāds daļēji bojāts kods, kuru jūs atkļūdojat. Šeit mēs varam droši atlicināt izmaiņas, izvilkt versiju no repozitorija un pēc tam noņemt kodu.

git stash save --keep-index

vai

git atlicināt
git pull git atlicināt pop

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

piemēro git atlicināt

popa vietā, ja konfliktu dēļ neesat gatavs zaudēt ievietoto kodu.

Ja apvienošana jums nešķiet reāla iespēja, apsveriet iespēju veikt atkārtotu bāzes darbību. Pārkārtošana ir process, kurā tiek pārvietota vai apvienota virkne saistību ar jaunu bāzes saistību izpildi. Pārinstalēšanas gadījumā mainiet kodu uz:

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

4. metode: veiciet izmaiņas koda “konkrētās” daļās

Ja vēlaties veikt izmaiņas noteiktās koda daļās un nevēlaties visu aizstāt, varat to izdarīt apņemties viss, ko nevēlaties pārrakstīt, un pēc tam izpildiet 3. metodi. Izmaiņām, kuras vēlaties pārrakstīt no repozitorijā esošās versijas, varat izmantot šādu komandu:

git norēķinu ceļš / uz / failu / uz / atgriezties

vai

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

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

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

Pēc tam rīkojieties ar komandu pull:

git pull

Pēc tam mēģinās ielādēt versiju no repozitorija.

3 minūtes lasīts