Klaida „ Pirmiausia turite išspręsti dabartinį indeksą “Įvyksta„ Git “ir reiškia, kad įvyko susijungimo konfliktas, ir nebent išspręsite konfliktą, jums nebus leista atsiskaityti į kitą filialą. Šis klaidos pranešimas taip pat reiškia, kad nepavyko sujungti arba yra konfliktų su failais.
Klaida: pirmiausia turite išspręsti dabartinį indeksą
Kas yra visi šie failai, susijungimai ir konfliktai? Šios sąlygos jums nebus žinomos, jei esate „Git“ naudojimo pradininkas. „Git“ yra versijų valdymo platforma, leidžianti keliems žmonėms vienu metu dirbti su failais ir perkelti savo vietinę kodo kopiją į tą, kuri saugoma debesyje. Tokiu būdu, jei pakeisite atsisiųstą (arba jau įstumtą) kodą ir vėl jį nustumsite į debesį, debesyje pakeitimus perrašys jūsų vietinė kopija.
Git turi šakų sampratą. Yra pagrindinė šaka ir dar kelios šakos. Ši klaida ypač pasitaiko, jei perjungiate iš vienos šakos į kitą (naudodamiesi kasa) ir dabartinio filialo failuose yra konfliktų. Jei jie nebus išspręsti, negalėsite perjungti šakų.
Kas sukelia „Git“ klaidą: pirmiausia turite išspręsti dabartinį indeksą?
Kaip minėta anksčiau, šios klaidos priežastys yra gana ribotos. Jūs patirsite šią klaidą, nes:
- Į nepavyko sujungti ir jums reikia išspręsti susijungimo konfliktą prieš pereinant prie kitų užduočių.
- Yra konfliktai dabartinio (arba tikslinio filialo) failuose ir dėl šių konfliktų negalėsite išsiregistruoti iš filialo ar „push“ kodo.
Prieš tęsdami sprendimą įsitikinkite, kad turite tinkamas versijos valdymas ir protinga sustabdyti kitus komandos narius keisti kodą prieš išsprendžiant konfliktą.
1 sprendimas: suliejimo konflikto sprendimas
Jei „Git“ automatiškai neišsprendžia jūsų sujungimo, indeksas ir darbinis medis paliekami specialioje būsenoje, kuri suteikia jums visą informaciją, kurios jums reikia norint išspręsti susijungimą. Failai, turintys konfliktų, bus specialiai pažymėti rodyklėje ir tol, kol išspręsite problemą ir atnaujinsite rodyklę, toliau gausite šį klaidos pranešimą.
- Išspręskite visus konfliktus . Patikrinkite failus, kurie turi prieštaravimų, nes juos pažymės rodyklė, ir atitinkamai atlikite juose pakeitimus.
- Išsprendę visus esamus konfliktus, papildyti failą ir tada įsipareigoti .
Pavyzdys:
$ git add file.txt $ git įsipareigoti
Įsipareigodami galite pridėti savo asmeninį komentarą. Pavyzdys:
$ git įsipareigoti –m „Tai„ Appuals Git “saugykla“
- Išsprendę konfliktą, pabandykite išsiregistruoti iš esamo filialo ir sužinoti, ar problema išspręsta.
2 sprendimas: sugrąžinkite sujungimą
Yra daugybė atvejų, kai sujungiate šakas ir sujaukėte. Dėl visų konfliktų ir painiavos projektas dabar yra netvarka, o jūsų komandos nariai jus dėl to kaltina. Tokiu atveju jūs turite grąžinti ankstesnį įsipareigojimą (sujungti įsipareigojimą) . Tai visiškai panaikins sujungimą ir grąžins visą projektą į būseną, kai nepadarėte jokių sujungimų. Tai gali būti gelbėtojas, jei nesugadinote dalykų.
Į grąžinti sujungimą , įveskite:
$ git reset --- sujungti
Pirmiau nurodyta komanda iš naujo nustatys indeksą ir atnaujins darbo medžio failus, kurie skiriasi nuo „įsipareigoti“ ir „galva“. Tačiau ji išsaugos tuos failus, kurie skiriasi nuo indekso ir darbo medžio.
Taip pat galite pabandyti pasukdamas GALVĄ naudodami šią komandą:
$ git grąžinti GALVĄ
Jei norite nurodyti tikslų suliejimo įsipareigojimą, kurį norite grąžinti, galite naudoti tą pačią grąžinimo komandą, bet nurodyti papildomus parametrus. Bus naudojamas sujungimo įsipareigojimo SHA1 maišas. -M, po kurio seka 1, rodo, kad norime išlaikyti sujungimo pagrindinę pusę (šaką, į kurią jungiamės). Šio grįžimo rezultatas yra tas, kad „Git“ sukurs naują įsipareigojimą, kuris sugrąžins suliejimo pokyčius.
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>3 minutes perskaityta