Ako opraviť chybu Git: Najprv musíte vyriešiť svoj aktuálny index
Chyba „ Najprv musíte vyriešiť svoj aktuálny index “ sa vyskytuje v službe Git a znamená, že dôjde ku zlúčeniu konfliktu a pokiaľ konflikt nevyriešite, nebudete mať možnosť zaplatiť do inej vetvy. Toto chybové hlásenie tiež naznačuje, že zlúčenie zlyhalo alebo došlo ku konfliktom so súbormi.
Čo sú všetky tieto súbory, zlúčenia a konflikty? Tieto podmienky vám nebudú známe, ak ste začiatočník v používaní služby Git. Git je platforma na správu verzií, ktorá umožňuje viacerým ľuďom pracovať na súboroch súčasne a tlačiť svoju lokálnu kópiu kódu na kód uložený v cloude. Týmto spôsobom, ak zmeníte nejaký stiahnutý (alebo už tlačený) kód a zatlačíte ho znova do cloudu, zmeny sa v cloudu prepíšu miestnou kópiou.
Git má koncepciu pobočiek. Existuje hlavná vetva a niekoľko ďalších vetiev z nej. Táto chyba sa vyskytuje najmä vtedy, ak prepínate z jednej vetvy na druhú (pomocou pokladnice) a v súboroch aktuálnej vetvy sú konflikty. Ak nie sú vyriešené, nebudete môcť prepínať vetvy.
Čo spôsobuje chybu Git: Najprv musíte vyriešiť svoj aktuálny index?
Ako už bolo uvedené, príčiny tejto chyby sú dosť obmedzené. Táto chyba sa objaví, pretože:
- Zlúčenie zlyhalo a pred začatím iných úloh musíte vyriešiť konflikt zlúčenia.
- V súboroch na vašej aktuálnej (alebo cieľovej vetve) sú konflikty a z dôvodu týchto konfliktov nebudete môcť skontrolovať vetvu alebo kód push.
Predtým, ako budete pokračovať v riešení, uistite sa, že máte riadnu správu verzií a je rozumné zabrániť iným členom tímu zmeniť kód skôr, ako vyriešite konflikt.
Riešenie 1: Riešenie konfliktu zlúčení
Ak Git zlúčenie automaticky nevyrieši, ponechá index a pracovný strom v špeciálnom stave, ktorý vám pomôže poskytnúť všetky informácie potrebné na vyriešenie zlúčenia. Súbory, ktoré majú konflikty, budú označené osobitne v indexe a pokiaľ nevyriešite problém a neaktualizujete index, táto chybová správa sa bude naďalej zobrazovať.
- Vyriešte všetky konflikty . Skontrolujte súbory, ktoré majú konflikty, pretože budú označené indexom, a podľa toho v nich vykonajte zmeny.
- Po vyriešení všetkých existujúcich konfliktov súbor pridajte a potvrďte .
Príkladom je:
$ git add file.txt $ git commit
Počas odovzdávania môžete pridať svoj osobný komentár. Príkladom je:
$ git commit –m „Toto je repozitár Appuals Git“
- Po vyriešení konfliktu skúste skontrolovať existujúcu vetvu a zistite, či je problém vyriešený.
Riešenie 2: Obnovenie zlúčenia
Existuje mnoho prípadov, keď zlúčite pobočky a zmätíte sa. Z dôvodu všetkých konfliktov a zmätkov je teraz projekt neporiadok a členovia tímu vás za to obviňujú. V takom prípade musíte vrátiť predchádzajúce odovzdanie (zlúčené odovzdanie) . Toto zlúčenie úplne zruší a celý projekt sa vráti do stavu, keď ste neurobili žiadne zlúčenia. To môže byť záchranca, ak ste veci neuspokojili.
Ak chcete zlúčenie vrátiť, zadajte nasledujúce:
$ git reset –merge
Vyššie uvedený príkaz vynuluje index a aktualizuje súbory v pracovnom strome, ktoré sa líšia medzi '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 pomocou nasledujúceho príkazu:
$ git vrátiť HEAD
Ak chcete určiť presný príkaz zlúčenia, ktorý chcete vrátiť, môžete použiť ten istý príkaz vrátenia, ale zadať ďalšie parametre. Použije sa hash SHA1 zlučovacieho potvrdenia. -M, za ktorým nasleduje 1, naznačuje, že chceme zachovať nadradenú stranu zlúčenia (vetvu, do ktorej zlučujeme). Výsledkom tohto návratu je, že Git vytvorí nový záväzok, ktorý vráti zmeny zo zlúčenia.
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>