A Git hiba elhárítása: Először meg kell oldania az aktuális indexet

A „ Először meg kell oldania az aktuális indexet ” hiba a Git-ben fordul elő, és azt jelenti, hogy egyesítési ütközés van, és ha nem oldja meg a konfliktust, akkor nem engedhetik meg, hogy másik fiókba fizessenek. Ez a hibaüzenet azt is jelzi, hogy az egyesítés meghiúsult, vagy ütközések vannak a fájlokkal.

Hiba: Először meg kell oldania az aktuális indexet a Git forrásvezérlésben

Mik ezek a fájlok, egyesülések és konfliktusok? Ezek a feltételek ismeretlenek lesznek számodra, ha kezdő vagy a Git használatában. A Git egy verziókezelő platform, amely lehetővé teszi több ember számára, hogy egyszerre dolgozzanak a fájlokon, és a kód helyi másolatát a felhőben tárolthoz tolják. Ily módon, ha megváltoztat valamilyen letöltött (vagy már letolt) kódot, és újból a felhőbe tolja, a változásokat a helyi másolat felülírja a felhőben.

A Git-nek van fogalma az ágakról. Van egy mesterág és több más ág is elágazik belőle. Ez a hiba különösen akkor fordul elő, ha egyik fiókról a másikra vált (a fizetés segítségével), és ütközések vannak az aktuális fiók fájljaiban. Ha ezek nem oldódnak meg, akkor nem fog tudni fiókot váltani.

Mi okozza a Git hibát: Először meg kell oldania az aktuális indexet?

Mint korábban említettük, ennek a hibának az okai meglehetősen korlátozottak. Ezt a hibát tapasztalhatja, mert:

  • Az egyesítés nem sikerült, és az egyéb feladatok folytatása előtt meg kell oldania az egyesítési konfliktust.
  • Az aktuális (vagy a megcélzott fiók) fájljaiban ütközések vannak, és ezek miatt az ütközések miatt nem tudja kijelentkezni egy fiókból vagy egy push kódból.

Mielőtt folytatná a megoldást, győződjön meg arról, hogy rendelkezik-e megfelelő verziókezeléssel, és bölcs dolog megakadályozni a csapat többi tagját a kód megváltoztatásában, mielőtt megoldaná az ütközést.

1. megoldás: Az egyesítési konfliktus megoldása

Ha az egyesítést a Git nem oldja meg automatikusan, akkor az indexet és a működő fát egy speciális állapotban hagyja, amely minden információt megad az összevonás feloldásához. Az ütköző fájlokat külön jelölik az indexben, és amíg nem oldja meg a problémát, és nem frissíti az indexet, addig kapja ezt a hibaüzenetet.

  1. Oldja meg az összes konfliktust . Ellenőrizze az ütköző fájlokat, mivel azokat az index megjelöli, és ennek megfelelően végezzen módosításokat.
  2. Miután megoldotta az összes létező ütközést, adja hozzá a fájlt, majd végezze el .

Ilyen például:

$ git add fájl.txt $ git elkötelez

Elkötelezés közben hozzáadhatja személyes kommentárját. Példa erre:

$ git elkövetés –m „Ez az Appuals Git tárház”
  1. Miután megoldotta a konfliktust, próbálja ki a meglévő fiókot, és ellenőrizze, hogy a probléma megoldódott-e.

2. megoldás: Az egyesítés visszaállítása

Számos olyan eset van, amikor egyesíted az ágakat és elrontod. Az összes konfliktus és zavartság miatt a projekt mára rendetlenséget okoz, és csapattagjai hibáztatnak ezért. Ebben az esetben vissza kell állítania a korábbi elkötelezettséget (az egyesítés elkötelezettségét) . Ez teljesen visszavonja az egyesítést, és a teljes projektet visszaállítja olyan állapotba, amikor még nem hajtott végre egyesítést. Ez életmentő lehet, ha javítás nélkül elrontotta a dolgokat.

Az egyesítés visszavonásához írja be a következőt:

$ git reset -–merge

A fenti parancs alaphelyzetbe állítja az indexet, és frissíti a munkafában található fájlokat, amelyek különböznek a 'kötelezettség' és a 'fej' között. Azonban megtartja azokat a fájlokat, amelyek különböznek az index és a munkafa között.

Megpróbálhatja a HEAD visszaállítását a következő paranccsal:

$ git revert HEAD

Ha meg akarja adni a visszaállítani kívánt egyesítés elkötelezettségét, használhatja ugyanazt a revert parancsot, de további paramétereket is megadhat. Az egyesítés végrehajtásának SHA1 kivonatát kell használni. Az -m, amelyet az 1 követ, azt jelzi, hogy meg akarjuk tartani az egyesülés szülői oldalát (az ágat, amelybe beolvadunk). Ennek a visszavonásnak az az eredménye, hogy Git új elkötelezettséget fog létrehozni, amely visszaveti az egyesítésből származó változásokat.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>