Kaip išspręsti „Git“ klaidą: pirmiausia turite išspręsti dabartinį indeksą



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

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ą valdydami „Git“ šaltinį

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ą.

  1. Išspręskite visus konfliktus . Patikrinkite failus, kurie turi prieštaravimų, nes juos pažymės rodyklė, ir atitinkamai atlikite juose pakeitimus.
  2. 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“
  1. 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