Paano ayusin ang Error sa Git 'Ang iyong mga lokal na pagbabago sa mga sumusunod na file ay mai-o-overtake sa pamamagitan ng pagsasama'



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang mensahe ng error na “ Ang iyong mga lokal na pagbabago sa mga sumusunod na file ay mai-o-overdit sa pamamagitan ng pagsasama 'Nangyayari sa mekanismo ng control ng bersyon ng Git. Ang error na ito ay nangyayari kung binago mo ang isang file na mayroon ding mga pagbabago sa remote na imbakan.



Error sa Git: Ang iyong mga lokal na pagbabago sa mga sumusunod na file ay mai-o-overtake sa pamamagitan ng pagsasama habang naka-coding

Error sa Git: Ang iyong mga lokal na pagbabago sa mga sumusunod na file ay mai-o-overtake sa pamamagitan ng pagsasama



Iniwasan ang mensahe ng error na ito KUNG walang mga hindi komitipikadong file na mayroon ding mga pagbabago sa remote na imbakan. Kapag nararanasan ang mensaheng ito, pinakamahusay na kumunsulta sa iyong iba pang mga miyembro ng koponan at hilingin para sa kanilang opinyon. Kung nais mong pagsamahin ang iyong mga lokal na pagbabago o panatilihin ang bersyon na nasa imbakan, mas mahusay na panatilihin ang lahat sa board.



Ano ang mga repository? Ano ang push and pull sa Git?

Ang isang imbakan ay isang uri ng imbakan para sa code na kung saan ay patuloy na binago at nakuha ng mga kasapi ng koponan sa pamamagitan ng mekanismo ng control bersyon ng GitHub. Isang ‘ Hilahin ’ nangangahulugang hinihila mo ang pinakabagong bersyon ng lalagyan sa iyong lokal na imbakan / IDE (Integrated Development Environment) tulad ng Pycharm atbp.

Pagkatapos ng isang Hilahin, gumawa ka ng mga pagbabago sa code o magdagdag ng higit pang mga tampok. Kapag tapos ka na, ikaw ‘ Push ’ ang code papunta sa lalagyan kaya ang mga pagbabago ay nai-save at ang mga pagdaragdag ay ginawa. Mapupuntahan din ang code sa ibang mga tao.

Kung bago ka sa kontrol ng bersyon ng Github, inirerekumenda na dumaan ka muna sa lahat ng mga pangunahing kaalaman. Sa artikulong ito, ipinapalagay namin na mayroon ka ng pangunahing kaalaman at alam ang lahat ng mga in at out.



Paano ayusin ang 'Ang iyong mga lokal na pagbabago sa mga sumusunod na file ay mai-o-overtake sa pamamagitan ng pagsasama'?

Ang paglutas ng mensahe ng error na ito ay nakasalalay sa kung ano ang nais mong gawin. Maaari mong itapon ang iyong mga lokal na pagbabago at hilahin ang mga nasa lalagyan o maaari mong mai-save ang iyong mga lokal na pagbabago sa isang itago at hilahin ang bersyon mula sa lalagyan. Ang lahat ay nakasalalay sa iyong kagustuhan.

Samakatuwid, inirerekumenda namin na kumunsulta ka sa mga kasapi ng iyong koponan at tiyakin na kayo ay nasa parehong pahina bago sumulong. Kung gumawa ka ng mali o itinulak ang maling bersyon, maaari itong makaapekto sa buong koponan.

Paraan 1: Pinipilit ang isang hilahin upang mai-overlap ang mga lokal na pagbabago

kung ikaw walang pakialam sa mga pagbabagong nagawa nang lokal at nais na makuha ang code mula sa lalagyan, maaari mong pilitin ang isang paghila. Mapapatungan nito ang lahat ng mga lokal na pagbabagong nagawa sa iyong computer isang lalabas na duplicate na kopya ng bersyon sa lalagyan.

Isagawa ang mga sumusunod na utos sa iyong IDE:

git reset - mahirap git pull

Agad nitong sisirain ang lahat ng iyong lokal na pagbabago kaya tiyaking alam mo kung ano ang iyong ginagawa at hindi mo kailangan ang iyong mga lokal na pagbabago.

Paraan 2: Pagpapanatili ng parehong mga pagbabago (lokal at mula sa repo)

Kung nais mong panatilihin ang parehong mga pagbabago (mga lokal na ginawa ng mga pagbabago at naroroon ang mga pagbabago sa lalagyan), maaari kang magdagdag at gumawa ng iyong mga pagbabago. Kapag hinila mo, malinaw na magkakaroon ng isang salungatan na pagsasama. Dito maaari mong gamitin ang mga tool sa iyong IDE (tulad ng Difftool at mergetool) upang ihambing ang dalawang piraso ng code at matukoy kung aling mga pagbabago ang dapat panatilihin at alin ang aalisin. Ito ang gitnang paraan; walang mga pagbabago na mawawala hanggang sa manu-mano mong alisin ang mga ito.

git magdagdag ng $ the_file_under_error git gumawa git pull

Kapag nakakuha ka ng tunggalian sa pagsasama, pop ang mga tool sa paglutas ng hindi pagkakasundo at suriin ang linya sa pamamagitan ng linya.

Paraan 3: Pagpapanatili ng parehong mga pagbabago NGUNIT hindi nakatuon

Nangyayari ang sitwasyong ito paminsan-minsan kung saan ang mga developer ay hindi handa na gumawa dahil may ilang bahagyang sirang code na iyong na-debug. Dito maaari naming itago ang mga pagbabago nang ligtas, hilahin ang bersyon mula sa imbakan, at pagkatapos ay i-unstash ang iyong code.

git stash save --keep-index

o

git stash
git pull git stash pop

Kung may ilang mga salungatan pagkatapos mong mai-pop ang itago, dapat mong lutasin ang mga ito sa karaniwang paraan. Maaari mo ring gamitin ang utos:

ilapat ang git stash

sa halip na pop kung hindi ka handa na mawala ang na-stode na code dahil sa mga salungatan.

Kung ang pagsanib ay hindi tila isang maaaring buhay na pagpipilian para sa iyo, isaalang-alang ang paggawa ng isang rebase. Ang Rebasing ay ang proseso ng paglipat o pagsasama-sama ng isang pagkakasunud-sunod ng mga pangako sa isang bagong batayan. Sa kaso ng muling pagpapalit, baguhin ang code sa:

git stash git pull --bawi muli ang pinagmulan master git stash pop

Paraan 4: Gumawa ng mga pagbabago sa mga 'tukoy' na bahagi ng iyong code

Kung nais mong gumawa ng mga pagbabago sa mga tukoy na bahagi ng code at ayaw mong palitan ang lahat, magagawa mo mangako lahat ng bagay na hindi mo nais na i-overlap at pagkatapos ay sundin ang pamamaraan 3. Maaari mong gamitin ang sumusunod na utos para sa mga pagbabago na nais mong i-overlap mula sa bersyon na naroroon sa lalagyan.

path ng checkout ng git / sa / file / upang / ibalik

o

git checkout HEAD ^ path / to / file / to / revert

Gayundin, kailangan mong tiyakin na ang file ay hindi itinanghal sa pamamagitan ng:

git reset HEAD path / to / file / to / revert

Pagkatapos ay magpatuloy sa pull command:

git hilahin

Susubukan nito pagkatapos na kunin ang bersyon mula sa imbakan.

Basahin ang 3 minuto