Slik løser du Git-feil: Du må løse den gjeldende indeksen først

Feilen " Du må løse din nåværende indeks først " forekommer i Git og betyr at det er en sammenslåingskonflikt, og med mindre du løser konflikten, vil du ikke få lov til å kassa til en annen gren. Denne feilmeldingen betyr også at en sammenslåing mislyktes, eller at det er konflikter med filene.

Feil: Du må løse den gjeldende indeksen først

Hva er alle disse filene, sammenslåingene og konfliktene? Disse vilkårene vil være ukjente for deg hvis du er nybegynner i å bruke Git. Git er en versjonskontrollplattform som lar flere mennesker jobbe med filer samtidig og skyve sin lokale kopi av koden til den som er lagret i skyen. På denne måten hvis du endrer noen nedlastede (eller allerede presset) kode og skyver den igjen til skyen, blir endringene overskrevet i skyen av din lokale kopi.

Git har et konsept av grener. Det er en mestergren og flere andre grener grenes ut fra den. Denne feilen oppstår spesielt hvis du bytter fra en gren til en annen (bruker kassa) og det er konflikter i filene til den nåværende grenen. Hvis de ikke blir løst, vil du ikke kunne bytte grener.

Hva forårsaker Git-feilen: Du må løse den gjeldende indeksen først?

Som nevnt tidligere, er årsakene til denne feilen ganske begrensede. Du vil oppleve denne feilen fordi:

  • En sammenslåing mislyktes, og du må løse flettingskonflikten før du går videre med andre oppgaver.
  • Det er konflikter i filene i din nåværende (eller målrettede gren), og på grunn av disse konfliktene vil du ikke kunne sjekke ut av en gren eller push-kode.

Før du fortsetter med løsningen, må du forsikre deg om at du har riktig versjonskontroll, og det er lurt å stoppe andre teammedlemmer fra å endre koden før du løser konflikten.

Løsning 1: Løsning av flettkonflikten

Hvis sammenslåingen ikke automatisk blir løst av Git, etterlater den indeksen og arbeidstreet i en spesiell tilstand som hjelper deg med å gi deg all informasjonen du trenger for å løse fusjonen. Filene som har konflikter vil bli merket spesielt i indeksen, og inntil du løser problemet og oppdaterer indeksen, vil du fortsette å motta denne feilmeldingen.

  1. Løs alle konfliktene . Kontroller filene som har konflikter, da de vil bli markert med indeksen, og gjør endringer i dem deretter.
  2. Etter at du har løst alle eksisterende konflikter, legger du til filen og deretter begår .

Et eksempel er:

 $ git legg til fil.txt $ git commit 

Du kan legge til din personlige kommentar mens du forplikter deg. Et eksempel er:

 $ git commit –m “Dette er Appuals Git repository” 
  1. Etter at du har løst konflikten, kan du prøve å sjekke ut din eksisterende gren og se om problemet er løst.

Løsning 2: Gjenopprett fletting

Det er mange tilfeller der du slår sammen grener og rotet. På grunn av alle konflikter og forvirring er prosjektet nå et rot, og teammedlemmene dine beskylder deg for det. I dette tilfellet må du tilbakestille forrige engasjement (fusjonskonsept) . Dette vil angre sammenslåingen helt og bringe hele prosjektet tilbake til en tilstand når du ikke foretok noen fusjoner. Dette kan være en redningsmann hvis du har rotet bort ting som ikke kan repareres.

For å tilbakestille flettet, skriver du inn følgende:

 $ git reset –merge 

Kommandoen ovenfor vil tilbakestille indeksen og oppdatere filene i arbeidstreet som er forskjellige mellom 'commit' og 'head'. Imidlertid vil det beholde filene som er forskjellige mellom indeksen og arbeidstreet.

Du kan også prøve å tilbakestille HEAD ved å bruke følgende kommando:

 $ git tilbake HEAD 

Hvis du vil spesifisere den nøyaktige fusjonskommandoen som du vil tilbakestille, kan du bruke den samme kommandoen for tilbakestilling, men angi flere parametere. SHA1-hashet for fusjonskonseptet vil bli brukt. -M etterfulgt av 1 indikerer at vi ønsker å beholde foreldresiden av sammenslåingen (grenen vi slår sammen). Resultatet av denne tilbakevendingen er at Git vil opprette en ny forpliktelse som ruller tilbake endringene fra sammenslåingen.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Interessante Artikler