Chyba „ Najprv musíte vyriešiť váš aktuálny index “ sa vyskytuje v Gite a znamená, že došlo ku konfliktu zlúčenia. Pokiaľ konflikt nevyriešite, nebude vám dovolené platiť do inej pobočky. Toto chybové hlásenie tiež znamená, že zlúčenie zlyhalo alebo že došlo ku konfliktom so súbormi.
Čo sú všetky tieto súbory, zlúčenia a konflikty? Tieto výrazy vám nebudú známe, ak ste začiatočníci v používaní Gitu. Git je platforma na správu verzií, ktorá umožňuje niekoľkým ľuďom pracovať na súboroch súčasne a posielať svoju lokálnu kópiu kódu do súboru uloženého v cloude. Týmto spôsobom, ak zmeníte nejaký stiahnutý (alebo už vytlačený) kód a znova ho zatlačíte do cloudu, zmeny sa v cloude prepíšu miestnou kópiou.
Git má koncept pobočiek. Existuje pobočka master a niekoľko ďalších pobočiek, ktoré sa z nej rozchádzajú. Táto chyba sa vyskytuje najmä vtedy, ak prechádzate z jednej vetvy na druhú (pomocou pokladne) a v súboroch aktuálnej vetvy sú konflikty. Ak nebudú vyriešené, nebudete môcť vymeniť pobočky.
Čo spôsobuje chybu Git: Najprv musíte vyriešiť aktuálny index?
Ako už bolo spomenuté vyššie, príčiny tejto chyby sú dosť obmedzené. Táto chyba sa vyskytne, pretože:
- Merge zlyhal a treba riešiť konflikt zlučovacie pred prechodom na iné úlohy.
- V súboroch vo vašej aktuálnej (alebo cieľovej pobočke) sa vyskytujú konflikty a kvôli týmto konfliktom sa nebudete môcť odhlásiť z kódu pobočky ani kódu push.
Pred pokračovaním v riešení sa uistite, že máte správnu kontrolu verzie a je rozumné zabrániť ostatným členom tímu v zmene kódu skôr, ako konflikt vyriešite.
Riešenie 1: Vyriešenie zlúčeného konfliktu
Ak vaše zlúčenie Git nevyrieši automaticky, ponechá index a pracovný strom v špeciálnom stave, ktorý vám poskytne všetky informácie, ktoré potrebujete na vyriešenie zlúčenia. Súbory, ktoré majú konflikty, budú osobitne označené v indexe a kým nevyriešite problém a neaktualizujete index, budete naďalej dostávať chybové hlásenie.
- Vyriešte všetky konflikty . Skontrolujte súbory, ktoré majú konflikty, pretože budú označené indexom, a urobte v nich príslušné zmeny.
- Po vyriešení všetkých existujúcich konfliktov pridajte súbor a potom vykonajte potvrdenie .
Príkladom je:
$ git pridať súbor.txt $ git potvrdiť
Počas vykonávania záväzkov môžete pridať svoj osobný komentár. Príkladom je:
$ git commit –m „Toto je úložisko Appuals Git“
- Po vyriešení konfliktu skúste skontrolovať svoju existujúcu vetvu a skontrolujte, či je problém odstránený.
Riešenie 2: Obnovenie zlúčenia
Existuje veľa prípadov, keď zlúčite pobočky a pokazíte to. Kvôli všetkým konfliktom a zmätkom je projekt teraz chaos a členovia vášho tímu vám za to vyčítajú. V takom prípade musíte vrátiť predchádzajúce potvrdenie (zlúčenie) . Toto úplne zruší zlúčenie a vráti celý projekt do stavu, keď ste neurobili žiadne zlúčenia. Môže to byť záchranca, ak ste veci pokazili neopraviteľne.
Ak chcete zlúčenie vrátiť , zadajte nasledujúci príkaz:
$ git reset -– zlúčiť
Vyššie uvedený príkaz obnoví index a aktualizuje súbory v pracovnom strome, ktoré sa líšia medzi príkazmi „commit“ a „head“. Zachová však tie súbory, ktoré sa líšia medzi indexom a pracovným stromom.
Môžete tiež skúsiť vrátiť HEAD späť pomocou nasledujúceho príkazu:
$ git vrátiť HLAVU
Ak chcete určiť presné potvrdenie zlúčenia, ktoré chcete vrátiť späť, môžete použiť rovnaký príkaz vrátenia, ale zadajte ďalšie parametre. Použije sa hash SHA1 zlúčenia. -M, za ktorým nasleduje 1, naznačuje, že chceme zachovať nadradenú stranu zlúčenia (vetvu, do ktorej sa zlučujeme). Výsledkom tohto návratu je, že Git vytvorí nový príkaz, ktorý vráti zmeny zo zlúčenia.
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>