Sådan rettes Git-fejl: Du skal først løse dit nuværende indeks

Fejlen " Du skal først løse dit nuværende indeks " forekommer i Git og betyder, at der er en fletningskonflikt, og medmindre du løser konflikten, får du ikke adgang til en anden filial. Denne fejlmeddelelse betyder også, at en fusion mislykkedes, eller at der er konflikter med filerne.

Fejl: Du skal først løse dit nuværende indeks

Hvad er alle disse filer, fusioner og konflikter? Disse vilkår vil være ukendte for dig, hvis du er nybegynder til at bruge Git. Git er en versionskontrolplatform, der giver flere mennesker mulighed for at arbejde på filer samtidigt og skubbe deres lokale kopi af koden til den, der er gemt i skyen. På denne måde, hvis du ændrer en downloadet (eller allerede skubbet) kode og skubber den igen til skyen, overskrives ændringerne i skyen af ​​din lokale kopi.

Git har et koncept med grene. Der er en mestergren, og flere andre grene grenen ud fra den. Denne fejl opstår især, hvis du skifter fra en gren til en anden (ved hjælp af kassen), og der er konflikter i filerne i den aktuelle filial. Hvis de ikke er løst, kan du ikke skifte grene.

Hvad forårsager Git-fejlen: Du skal først løse dit nuværende indeks?

Som nævnt tidligere er årsagerne til denne fejl ret begrænsede. Du vil opleve denne fejl, fordi:

  • En fusion mislykkedes, og du er nødt til at tackle fletningskonflikten, før du går videre med andre opgaver.
  • Der er konflikter i filerne i din nuværende (eller målrettede gren), og på grund af disse konflikter vil du ikke være i stand til at tjekke ud af en gren eller push-kode.

Inden du fortsætter med løsningen, skal du sørge for, at du har korrekt versionskontrol, og det er klogt at forhindre andre teammedlemmer i at ændre koden, inden du løser konflikten.

Løsning 1: Løsning af fletningskonflikten

Hvis din fusion ikke automatisk løses af Git, forlader den indekset og arbejdet træet i en speciel tilstand, som hjælper med at give dig alle de oplysninger, du har brug for for at løse sammenlægningen. De filer, der har konflikter, markeres specielt i indekset, og indtil du løser problemet og opdaterer indekset, vil du fortsat modtage denne fejlmeddelelse.

  1. Løs alle konflikter . Kontroller de filer, der har konflikter, da de vil blive markeret med indekset, og foretag ændringer i dem i overensstemmelse hermed.
  2. Når du har løst alle de eksisterende konflikter, skal du tilføje filen og derefter begå .

Et eksempel er:

 $ git tilføj file.txt $ git commit 

Du kan tilføje din personlige kommentar, mens du forpligter dig. Et eksempel er:

 $ git commit –m “Dette er Appuals Git-lager” 
  1. Når du har løst konflikten, kan du prøve at tjekke ud af din eksisterende filial og se, om problemet er løst.

Løsning 2: Genoptag din fletning

Der er adskillige tilfælde, hvor du fusionerer grene og roter sammen. På grund af alle konflikter og forvirring er projektet nu et rod, og dine teammedlemmer beskylder dig for det. I dette tilfælde er du nødt til at vende tilbage til forrige engagement (fusionen begå) . Dette vil fortryde fusionen helt og bringe hele projektet tilbage til en tilstand, når du ikke foretog nogen fusioner. Dette kan være en livredder, hvis du har rodet tingene ud over reparation.

Hvis du vil vende tilbage til fusionen, skal du skrive følgende:

 Nulstilling af $ git –merge 

Ovenstående kommando nulstiller indekset og opdaterer filerne i arbejdstræet, der er forskellige mellem 'commit' og 'head'. Det vil dog beholde de filer, der er forskellige mellem indekset og arbejdet træet.

Du kan også prøve at vende HEAD tilbage ved hjælp af følgende kommando:

 $ git vende HEAD tilbage 

Hvis du vil specificere den nøjagtige fletningskommission, du vil gendanne, kan du bruge den samme kommando til at vende tilbage, men angive yderligere parametre. SHA1-hash fra fusionstilsagnet bruges. Den -m efterfulgt af 1 indikerer, at vi ønsker at beholde forældersiden af ​​fusionen (den gren, vi er sammen i). Resultatet af denne tilbagevenden er, at Git vil oprette et nyt engagement, der ruller ændringerne tilbage fra fusionen.

 $ git retvert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Interessante Artikler