Kaip ištaisyti „Git“ klaidą: pirmiausia turite išspręsti dabartinę rodyklę

Klaida „Pirmiausia turite išspręsti dabartinį rodyklę “ įvyksta „Git“ ir reiškia, kad yra susijungimo konfliktas ir, jei neišspręsite konflikto, jums nebus leista išsiregistruoti kitoje šakoje. Šis klaidos pranešimas taip pat reiškia, kad sujungimas nepavyko arba failai nesuderinami.

Klaida: pirmiausia turite išspręsti dabartinį rodyklę

Kas yra visi šie failai, sujungimai ir konfliktai? Šie terminai jums nebus žinomi, jei esate pradedantysis naudoti „Git“. „Git“ yra versijos valdymo platforma, leidžianti keliems žmonėms vienu metu dirbti su failais ir nukreipti vietinę kodo kopiją į tą, kuri saugoma debesyje. Tokiu būdu, jei pakeisite atsisiųstą (arba jau įkeltą) kodą ir vėl jį perkelsite į debesį, pakeitimus perrašys debesyje jūsų vietinė kopija.

Gitas turi šakų koncepciją. Yra pagrindinė ir kelios kitos šakos, atsirandančios iš jos. Ši klaida ypač atsiranda, jei perjungiate iš vienos šakos į kitą (naudojate patikrą) ir dabartinės šakos failuose yra konfliktų. Jei jie nebus išspręsti, negalėsite perjungti filialų.

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:

  • Sujungti nepavyko ir prieš pereidami prie kitų užduočių turite išspręsti suliejimo konfliktą.
  • Dabartiniame (arba tiksliniame filiale) esančiuose failuose yra konfliktų ir dėl šių konfliktų negalėsite išsirinkti iš šakos ar tiesioginio kodo.

Prieš pradėdami sprendimą, įsitikinkite, kad tinkamai kontroliuojate versiją, ir prieš išspręsdami konfliktą, protinga sustabdyti kitus komandos narius keičiant kodą.

1 sprendimas: Susijungimo konflikto sprendimas

Jei „Git“ automatiškai neišsprendė jūsų sujungimo, indeksas ir darbinis medis bus specialioje būsenoje, kuri padės jums suteikti visą informaciją, kurios jums reikia norint sujungti. Failai, kurie turi konfliktų, bus specialiai pažymėti rodyklėje ir tol, kol neišspręsite problemos ir neatnaujinsite rodyklės, jūs gausite šį klaidos pranešimą.

  1. Išspręskite visus konfliktus . Patikrinkite failus, kurie turi konfliktų, nes jie bus pažymėti rodyklėje, ir atitinkamai juos pakeiskite.
  2. Išsprendę visus esamus konfliktus, pridėkite failą ir įsipareigokite .

Pavyzdys yra:

 $ git pridėti file.txt $ git įsipareigoti 

Įsipareigodami galite pridėti savo asmeninius komentarus. Pavyzdys yra:

 $ git įsipareigoti - tai „Appuals Git“ saugykla “ 
  1. Kai išspręsite konfliktą, pabandykite išsiaiškinti iš esamos šakos ir išsiaiškinkite, ar problema neišspręsta.

2 sprendimas: Grąžinkite sujungimą

Yra daugybė atvejų, kai jūs sujungiate filialus ir suklaidinate. Dėl visų konfliktų ir painiavos projektas dabar yra netvarka ir jūsų komandos nariai dėl to kaltina jus. Tokiu atveju jūs turite grąžinti ankstesnį įsipareigojimą (sujungimo įsipareigojimą) . Tai visiškai panaikins sujungimą ir sugrąžins visą projektą į tokią būseną, kai neatlikote jokių sujungimų. Tai gali būti gelbėjimo priemonė, jei viską sutvarkėte nepataisydami.

Norėdami atšaukti suliejimą, įveskite:

 $ git reset –pakeisti 

Aukščiau pateikta komanda iš naujo nustatys rodyklę ir atnaujins darbiniame medyje esančius failus, kurie skiriasi „įsipareigoti“ ir „vadovu“. Tačiau ji išlaikys tuos failus, kurie skiriasi nuo rodyklės ir darbinio medžio.

Taip pat galite pabandyti grąžinti HEAD naudodami šią komandą:

 $ git grąžinti GALVA 

Jei norite nurodyti tikslų sujungimo įsipareigojimą, kurį norite grąžinti, galite naudoti tą pačią komandą grąžinti, tačiau nurodykite papildomus parametrus. Bus naudojama sujungimo įsipareigojimo SHA1 maiša. „-M“, einantis po 1, rodo, kad mes norime išlaikyti pirminę jungimo pusę (šaką, į kurią mes susijungiame). Šio grįžimo rezultatas yra tas, kad Git sukurs naują įsipareigojimą, kuris atšauks pakeitimus po sujungimo.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Įdomios Straipsniai