Kā novērst Git kļūdu: Vispirms jums jāatrisina pašreizējais indekss

Kļūda “ Jums vispirms ir jāatrisina pašreizējais indekss ” rodas Git un nozīmē, ka ir apvienošanās konflikts, un, ja jūs neatrisināsit konfliktu, jums nebūs atļauts norēķināties ar citu filiāli. Šis kļūdas ziņojums arī norāda, ka apvienošana neizdevās vai ir konflikti ar failiem.

Kļūda: vispirms Git avota vadībā jāatrisina pašreizējais indekss

Kas ir visi šie faili, apvienošanās un konflikti? Šie nosacījumi jums nebūs zināmi, ja esat iesācējs, izmantojot Git. Git ir versiju vadības platforma, kas ļauj vairākiem cilvēkiem vienlaikus strādāt ar failiem un nospiest vietējo koda kopiju uz mākonī saglabāto. Tādā veidā, ja mainīsit kādu lejupielādētu (vai jau nospiestu) kodu un atkal nospiedīsit to mākonī, izmaiņas vietējā kopija pārrakstīs mākonī.

Gitam ir filiāļu jēdziens. Ir galvenā filiāle un no tās sazarojas vairākas citas filiāles. Šī kļūda īpaši rodas, ja pārslēdzaties no vienas filiāles uz citu (izmantojot norēķinu) un pašreizējās filiāles failos ir konflikti. Ja tie nav atrisināti, jūs nevarēsiet mainīt filiāles.

Kas izraisa Git kļūdu: Vispirms jums jāatrisina pašreizējais indekss?

Kā jau minēts iepriekš, šīs kļūdas cēloņi ir diezgan ierobežoti. Jums radīsies šī kļūda, jo:

  • Sapludināšana neizdevās , un jums ir nepieciešams, lai risinātu sapludināšanas konfliktu pirms pāriešanas ar citiem uzdevumiem.
  • Jūsu pašreizējā (vai mērķtiecīgā filiāles) failos ir konflikti , un šo konfliktu dēļ jūs nevarēsit izrakstīties no filiāles vai push koda.

Pirms turpināt risinājumu, pārliecinieties, vai jums ir pareiza versiju kontrole, un ir prātīgi apturēt citus komandas locekļus mainīt kodu pirms konflikta atrisināšanas.

1. risinājums: apvienošanās konflikta atrisināšana

Ja Git automātiski neatrisina jūsu apvienošanos, tas atstāj indeksu un darba koku īpašā stāvoklī, kas palīdz jums sniegt visu nepieciešamo informāciju, lai atrisinātu apvienošanu. Faili, kuriem ir konflikti, tiks īpaši atzīmēti indeksā, un, kamēr jūs neatrisināsiet problēmu un atjaunināsiet indeksu, jūs joprojām saņemsit šo kļūdas ziņojumu.

  1. Atrisiniet visus konfliktus . Pārbaudiet failus, kuriem ir konflikti, jo tos atzīmēs indekss, un attiecīgi veiciet izmaiņas tajos.
  2. Kad esat atrisinājis visus esošos konfliktus, pievienojiet failu un pēc tam veiciet saistības .

Piemērs ir:

$ git add file.txt $ git izdarīt

Apņemšanās laikā varat pievienot savu personīgo komentāru. Piemērs ir:

$ git saistīt –m “Šī ir Appuals Git krātuve”
  1. Pēc konflikta atrisināšanas mēģiniet izrakstīties no esošās filiāles un pārliecināties, vai problēma ir novērsta.

2. risinājums: atjaunojiet apvienošanu

Ir daudz gadījumu, kad jūs sapludināt zarus un sajaukt. Visu konfliktu un neskaidrību dēļ projekts tagad ir juceklis, un jūsu komandas locekļi jūs par to vaino. Šajā gadījumā jums ir jāatgriež iepriekšējā saistība (apvienošanas saistība) . Tādējādi apvienošana tiks pilnībā atsaukta un viss projekts tiks atjaunots stāvoklī, kad jūs neveicāt apvienošanu. Tas var būt glābiņš, ja esat sajaucis lietas bez remonta.

Lai atgrieztu apvienošanu , ierakstiet šo:

$ git reset -– sapludināt

Iepriekš minētā komanda atiestatīs indeksu un atjauninās darba kokā esošos failus, kas atšķiras starp “izdarīt” un “galvu”. Tomēr tas saglabās tos failus, kas atšķiras no indeksa un darba koka.

Varat arī mēģināt atgriezt HEAD , izmantojot šādu komandu:

$ git revert HEAD

Ja vēlaties norādīt precīzu apvienošanas saistību, kuru vēlaties atcelt, varat izmantot to pašu komandu Revert, bet norādīt papildu parametrus. Tiks izmantota sapludināšanas saistības SHA1 hash. -M, kam seko 1, norāda, ka mēs vēlamies saglabāt apvienošanās vecāku pusi (filiāli, kurā mēs saplūstam). Šīs atgriešanās rezultāts ir tāds, ka Git izveidos jaunu saistību, kas atgriezīs izmaiņas no apvienošanas.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>