Så här fixar du Git-fel: Du måste lösa ditt nuvarande index först



Prova Vårt Instrument För Att Eliminera Problem

Felet ' Du måste lösa ditt nuvarande index först ”Inträffar i Git och betyder att det finns en sammanslagningskonflikt och om du inte löser konflikten får du inte checka ut till en annan gren. Detta felmeddelande betyder också att en sammanslagning misslyckades eller att det finns konflikter med filerna.



Fel: Du måste lösa ditt nuvarande index först i Git-källkontrollen

Fel: Du måste lösa ditt nuvarande index först



Vad är alla dessa filer, sammanslagningar och konflikter? Dessa termer är okända för dig om du är nybörjare när du använder Git. Git är en versionskontrollplattform som låter flera personer arbeta på filer samtidigt och skicka sin lokala kopia av koden till den som är lagrad i molnet. På det här sättet, om du ändrar någon nedladdad (eller redan tryckt) kod och trycker den igen till molnet, kommer ändringarna att skrivas över i molnet av din lokala kopia.



Git har ett koncept av filialer. Det finns en mästare gren och flera andra grenar grenar ut från den. Detta fel inträffar särskilt om du byter från en gren till en annan (med kassan) och det finns konflikter i filerna i den aktuella filialen. Om de inte löses kommer du inte att kunna byta gren.

Vad orsakar Git-felet: Du måste lösa ditt nuvarande index först?

Som nämnts tidigare är orsakerna till detta fel ganska begränsade. Du kommer att uppleva detta fel eftersom:

  • TILL sammanfogning misslyckades och du måste ta itu med sammanslagningskonflikten innan du går vidare med andra uppgifter.
  • Det finns konflikter i filerna i din nuvarande (eller riktade gren) och på grund av dessa konflikter kommer du inte att kunna kolla in en filial eller push-kod.

Innan du fortsätter med lösningen, se till att du har gjort det korrekt versionskontroll och det är klokt att hindra andra lagmedlemmar från att ändra koden innan du löser konflikten.



Lösning 1: Lösa sammanslagningskonflikten

Om din sammanslagning inte automatiskt löses av Git, lämnar den indexet och det fungerande trädet i ett speciellt tillstånd som hjälper dig att få all information du behöver för att lösa sammanslagningen. Filerna som har konflikter kommer att markeras speciellt i indexet och tills du löser problemet och uppdaterar indexet kommer du att fortsätta att få detta felmeddelande.

  1. Lös alla konflikter . Kontrollera filerna som har konflikter eftersom de kommer att markeras av indexet och gör ändringar i dem därefter.
  2. När du har löst alla befintliga konflikter, Lägg till filen och sedan begå .

Ett exempel är:

$ git lägg till file.txt $ git commit

Du kan lägga till din personliga kommentar medan du begår. Ett exempel är:

$ git commit –m “This is Appuals Git repository”
  1. När du har löst konflikten, försök kolla in din befintliga filial och se om problemet är löst.

Lösning 2: Återställa din sammanslagning

Det finns många fall där du slår samman filialer och trasslar. På grund av alla konflikter och förvirring är projektet nu en röra och dina teammedlemmar skyller på dig för det. I det här fallet måste du återställa tidigare åtagande (sammanslagningsförpliktelsen) . Detta kommer att ångra sammanfogningen helt och återföra hela projektet till ett tillstånd när du inte gjorde några sammanslagningar. Detta kan vara en livräddare om du har förstört saker som inte kan repareras.

Till återställa sammanslagningen , skriv följande:

$ git reset --- slå samman

Ovanstående kommando återställer indexet och uppdaterar filerna i arbetsträdet som skiljer sig mellan 'commit' och 'head'. Det kommer dock att behålla de filer som skiljer sig mellan indexet och det fungerande trädet.

Du kan också prova tillbaka huvudet med följande kommando:

$ git återställ HEAD

Om du vill ange det exakta sammanslagningsförpliktelsen som du vill återställa, kan du använda samma återkommandot men ange ytterligare parametrar. SHA1-hash för sammanslagningsförpliktelsen kommer att användas. -M följt av 1 indikerar att vi vill behålla sammanslagningens modersida (grenen vi går samman till). Resultatet av denna återställning är att Git kommer att skapa ett nytt åtagande som rullar tillbaka ändringarna från sammanslagningen.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 minuter läst