Pogreška "Prvo morate riješiti svoj trenutni indeks " pojavljuje se u Gitu i znači da postoji sukob spajanja i ako ne riješite sukob, nećete imati mogućnost plaćanja u drugu granu. Ova poruka o pogrešci također znači da spajanje nije uspjelo ili postoje sukobi s datotekama.
Koje su sve ove datoteke, spajanja i sukobi? Ovi pojmovi bit će vam nepoznati ako ste početnik u korištenju Gita. Git je platforma za kontrolu verzija koja omogućava nekoliko ljudi da istovremeno rade na datotekama i guraju svoju lokalnu kopiju koda na onu koja je pohranjena u oblaku. Na ovaj način, ako promijenite neki preuzeti (ili već gurnuti) kôd i ponovo ga gurnete u oblak, vaša će lokalna kopija promjene zamijeniti u oblaku.
Git ima koncept grana. Postoji glavna grana i iz nje se grana nekoliko drugih grana. Ova se pogreška posebno događa ako prelazite s jedne grane na drugu (pomoću naplate) i postoje sukobi u datotekama trenutne grane. Ako se ne riješe, nećete moći zamijeniti poslovnice.
Što uzrokuje pogrešku Git: Prvo morate riješiti svoj trenutni indeks?
Kao što je već spomenuto, uzroci ove pogreške prilično su ograničeni. Do ove ćete pogreške doći jer:
- Spajanje nije uspjelo i što vam je potrebno za rješavanje sukoba spajanja prije prelaska na drugim poslovima.
- Postoje sukobi u datotekama na vašoj trenutnoj (ili ciljanoj grani) i zbog tih sukoba nećete moći odjaviti se iz grane ili push koda.
Prije nego što nastavite s rješenjem, provjerite imate li odgovarajuću kontrolu verzija i pametno je zaustaviti ostale članove tima da mijenjaju kod prije nego što riješite sukob.
Rješenje 1: Rješavanje sukoba spajanja
Ako Git automatski ne riješi vaše spajanje, indeks i radno stablo ostavlja u posebnom stanju koje vam pomaže pružiti sve informacije potrebne za rješavanje spajanja. Datoteke koje imaju sukobe bit će posebno označene u indeksu i sve dok ne riješite problem i ne ažurirate indeks, i dalje ćete primati ovu poruku o pogrešci.
- Riješite sve sukobe . Provjerite datoteke u kojima postoje sukobi jer će ih indeks označiti i u skladu s njima unesite promjene.
- Nakon što ste riješili sve postojeće sukobe, dodajte datoteku i zatim počnite .
Primjer je:
$ git dodaj datoteku.txt $ git predaj
Tijekom dodavanja možete dodati svoj osobni komentar. Primjer je:
$ git commit –m “Ovo je Appuals Git spremište”
- Nakon što riješite sukob, pokušajte provjeriti postojeću poslovnicu i provjeriti je li problem riješen.
2. rješenje: Vraćanje vašeg spajanja
Brojni su slučajevi kada spajate grane i zabrljate. Zbog svih sukoba i zbrke, projekt je sada u neredu i za to vas krive članovi vašeg tima. U ovom slučaju, morate vratiti prethodno urezivanje (urezivanje spajanjem) . Ovo će u potpunosti poništiti spajanje i vratiti cijeli projekt u stanje kada niste izvršili spajanje. Ovo može biti spas ako ste zabrljali stvari koje se ne mogu popraviti.
Da biste poništili spajanje , upišite sljedeće:
$ git reset -– spajanje
Gornja naredba će resetirati indeks i ažurirati datoteke u radnom stablu koje se razlikuju između "predavanja" i "glave". Međutim, zadržat će one datoteke koje se razlikuju između indeksa i radnog stabla.
Također možete pokušati vratiti HEAD pomoću sljedeće naredbe:
$ git revert HEAD
Ako želite navesti točno urezivanje spajanja koje želite poništiti, možete upotrijebiti istu naredbu vraćanja, ali odrediti dodatne parametre. Upotrijebit će se SHA1 hash spajanja urezivanja. Znak -m iza kojeg slijedi 1 označava da želimo zadržati nadređenu stranu spajanja (grana u koju se spajamo). Ishod ovog vraćanja je da će Git stvoriti novi predaj koji uvodi promjene iz spajanja.
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>