Cum să remediați eroarea Git: mai întâi trebuie să vă rezolvați indexul curent



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Eroarea ' Mai întâi trebuie să vă rezolvați indexul curent ”Apare în Git și înseamnă că există un conflict de îmbinare și, cu excepția cazului în care rezolvați conflictul, nu vi se va permite să efectuați plata către o altă sucursală. Acest mesaj de eroare înseamnă, de asemenea, că o îmbinare a eșuat sau că există conflicte cu fișierele.



Eroare: trebuie să vă rezolvați mai întâi indexul curent în controlul sursei Git

Eroare: mai întâi trebuie să vă rezolvați indexul curent



Care sunt toate aceste fișiere, fuziuni și conflicte? Acești termeni vă vor fi necunoscuți dacă sunteți începător în utilizarea Git. Git este o platformă de control al versiunilor care permite mai multor persoane să lucreze simultan pe fișiere și să împingă copia locală a codului către cea stocată în cloud. În acest fel, dacă modificați un cod descărcat (sau deja împins) și îl împingeți din nou în cloud, modificările vor fi suprascrise în cloud de copia locală.



Git are un concept de ramuri. Există o ramură principală și alte câteva ramuri se ramifică din ea. Această eroare apare în special dacă comutați de la o ramură la alta (folosind checkout) și există conflicte în fișierele ramurii curente. Dacă nu sunt rezolvate, nu veți putea schimba ramurile.

Ce cauzează eroarea Git: mai întâi trebuie să vă rezolvați indexul actual?

Așa cum am menționat anterior, cauzele acestei erori sunt destul de limitate. Veți experimenta această eroare deoarece:

  • LA îmbinarea a eșuat și trebuie să abordați conflictul de îmbinare înainte de a continua cu alte sarcini.
  • Sunt conflicte în fișierele din filiala dvs. curentă (sau filială vizată) și din cauza acestor conflicte, nu veți putea să ieșiți dintr-o filială sau să introduceți codul.

Înainte de a continua cu soluția, asigurați-vă că aveți controlul corect al versiunii și este înțelept să oprești ceilalți membri ai echipei să schimbe codul înainte de a rezolva conflictul.



Soluția 1: rezolvarea conflictului de fuziune

Dacă îmbinarea dvs. nu este rezolvată automat de Git, acesta lasă indexul și arborele de lucru într-o stare specială, care vă oferă toate informațiile de care aveți nevoie pentru a rezolva îmbinarea. Fișierele care au conflicte vor fi marcate special în index și până când veți rezolva problema și actualizați indexul, veți primi în continuare acest mesaj de eroare.

  1. Rezolvați toate conflictele . Verificați fișierele care au conflicte deoarece vor fi marcate de index și efectuați modificări în ele în consecință.
  2. După ce ați rezolvat toate conflictele existente, adăuga fișierul și apoi comite .

Un exemplu este:

$ git add file.txt $ git commit

Puteți adăuga comentariul dvs. personal în timp ce comiteți. Un exemplu este:

$ git commit –m „Acesta este depozitul Appuals Git”
  1. După ce ați rezolvat conflictul, încercați să ieșiți din filiala dvs. existentă și să vedeți dacă problema este rezolvată.

Soluția 2: Revenirea la Merge

Există numeroase cazuri în care fuzionați sucursale și vă deranjați. Din cauza tuturor conflictelor și confuziei, proiectul este acum o mizerie și membrii echipei tale vă învinovățesc pentru asta. În acest caz, trebuie reveniți la comiterea anterioară (comisia de îmbinare) . Aceasta va anula în totalitate îmbinarea și va readuce întregul proiect într-o stare când nu ați făcut nicio îmbinare. Acesta poate fi un instrument de salvare dacă ați încurcat lucrurile fără reparații.

La reveniți la îmbinare , tastați următoarele:

$ git reset --- fuzionează

Comanda de mai sus va reseta indexul și va actualiza fișierele din arborele de lucru care sunt diferite între „commit” și „head”. Cu toate acestea, va păstra acele fișiere care sunt diferite între index și arborele de lucru.

Puteți încerca, de asemenea revenind la CAP folosind următoarea comandă:

$ git revine HEAD

Dacă doriți să specificați comiterea exactă de îmbinare pe care doriți să o reveniți, puteți utiliza aceeași comandă de revenire, dar specificați parametri suplimentari. Va fi utilizat hash-ul SHA1 al comitetului de îmbinare. -M urmat de 1 indică faptul că dorim să păstrăm partea părinte a îmbinării (ramura în care fuzionăm). Rezultatul acestei reveniri este că Git va crea un nou commit care revine modificările de la îmbinare.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 minute citite