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.
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.
- 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.
- 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”
- 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>