Kako popraviti napako Git: Najprej morate razrešiti svoj trenutni indeks

Napaka » Najprej morate razrešiti svoj trenutni indeks « se pojavi v Gitu in pomeni, da obstaja konflikt združevanja in če ne boste rešili konflikta, ne boste mogli plačati v drugo vejo. To sporočilo o napaki pomeni tudi, da združitev ni uspela ali da obstajajo spori z datotekami.

Napaka: Trenutni indeks morate najprej razrešiti v nadzornem viru Git

Katere so vse te datoteke, združitve in konflikti? Ti pogoji vam ne bodo znani, če že uporabljate Git. Git je platforma za nadzor različic, ki omogoča več ljudem, da hkrati delajo z datotekami in potisnejo svojo lokalno kopijo kode na tisto, shranjeno v oblaku. Če spremenite preneseno (ali že potisnjeno) kodo in jo znova potisnete v oblak, bo lokalna kopija spremembe v oblaku prepisala.

Git ima koncept podružnic. Obstaja glavna veja in iz nje se odcepi več drugih vej. Do te napake pride še posebej, če preklapljate z ene veje na drugo (z uporabo blagajne) in v datotekah trenutne veje obstajajo spori. Če se ne rešijo, ne boste mogli zamenjati podružnic.

Kaj povzroča napako Git: Najprej morate razrešiti svoj trenutni indeks?

Kot smo že omenili, so vzroki za to napako precej omejeni. Ta napaka se bo pojavila, ker:

  • Spajanje ni in jih je treba obravnavati spor spajanje pred selitvijo na druge naloge.
  • V datotekah v vaši trenutni (ali ciljni podružnici) obstajajo spori in zaradi teh konfliktov ne boste mogli preveriti podružnice ali potisne kode.

Preden nadaljujete z rešitvijo, se prepričajte, da imate ustrezen nadzor nad različicami in pametno je, da drugim članom ekipe preprečite spreminjanje kode, preden razrešite spor.

1. rešitev: odpravljanje konflikta med spajanjem

Če Git samodejno ne reši vaše združitve, indeks in delovno drevo pusti v posebnem stanju, ki vam pomaga dati vse informacije, ki jih potrebujete za razrešitev združitve. Datoteke, ki imajo konflikte, bodo v indeksu posebej označene in dokler ne odpravite težave in posodobite indeksa, boste še naprej prejemali to sporočilo o napaki.

  1. Rešite vse konflikte . Preverite datoteke, ki imajo konflikte, saj jih bo označil indeks, in jih ustrezno spremenite.
  2. Ko rešite vse obstoječe konflikte, dodajte datoteko in se nato zavežite .

Primer je:

$ git add file.txt $ git commit

Med obvezovanjem lahko dodate svoj osebni komentar. Primer je:

$ git commit –m “To je skladišče Appuals Git”
  1. Ko ste rešili spor, poskusite preveriti obstoječo vejo in preveriti, ali je težava odpravljena.

2. rešitev: razveljavitev združitve

Obstajajo številni primeri, ko združite veje in zmedete. Zaradi vseh konfliktov in zmede je projekt zdaj nered in za to vas krivijo člani vaše ekipe. V tem primeru morate razveljaviti prejšnjo odobritev (odobritev združitve) . S tem boste združitev v celoti razveljavili in celoten projekt vrnili v stanje, ko spajanja niste izvedli. To vam lahko reši življenje, če ste stvari popravili nepopravljivo.

Če želite razveljaviti združitev , vnesite naslednje:

$ git reset -– spajanje

Zgornji ukaz bo ponastavil indeks in posodobil datoteke v delujočem drevesu, ki se razlikujejo med 'commit' in 'head'. Vendar bo obdržal tiste datoteke, ki se med indeksom in delovnim drevesom razlikujejo.

Lahko poskusite tudi vrniti HEAD z naslednjim ukazom:

$ git revert HEAD

Če želite določiti natančno predajo združitve, ki jo želite razveljaviti, lahko uporabite isti ukaz za razveljavitev, vendar določite dodatne parametre. Uporabil se bo zgoščeni SHA1 prevoda za spajanje. Oznaka -m, ki ji sledi 1, pomeni, da želimo obdržati nadrejeno stran spajanja (veja, v katero se združujemo). Rezultat tega razveljavitve je, da bo Git ustvaril nov prevzem, ki bo zvišal spremembe iz združitve.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>

Priporočena

Popravek: Minecraft se ne odziva
Kaj je aplikacija za registracijo naprave za digitalni TV sprejemnik in jo je treba odstraniti?
Kaj je FileRepMalware in ali ga morate odstraniti