Šiame vadove pateikiamas turinys apie gilų įprastų atjungtų HEAD būsenų supratimą ir sprendimus, kaip išspręsti atjungtą HEAD, įskaitant šį turinį:
- Kokia yra normali HEAD būsena Git?
- Ką reiškia atskirtos GALVOS būsena?
- Kokios situacijos sukuria atskirtos galvos būseną?
- Kaip išspręsti „Git“ atjungtos galvos problemas?
Kokia yra normali HEAD būsena Git?
Įprasta HEAD būsena Git yra ta, kai jūsų HEAD nukreipia į dabartinę šaką. Kai vartotojas persijungia tarp skirtingų šakų, HEAD taip pat perjungiamas į tą šaką. Peržiūrėkite šiuos praktinio demonstravimo veiksmus.
1 veiksmas: Rodyti žurnalo būseną
Atidarykite „Git Bash“ ir parodykite projekto žurnalą naudodami „git žurnalas“ komanda:
git žurnalas
Šiuo metu mūsų GALVA nurodo „ meistras “ filialas.
2 veiksmas: perjunkite filialą
Dabar perjunkite į kitą vietinį padalinį ir patikrinkite HEAD rodyklės padėtį. Pavyzdžiui, mes tikriname „ funkcija “ filialas:
Filialas pakeistas į „ funkcija “.
3 veiksmas: patikrinkite žurnalą
Dar kartą peržiūrėkite saugyklos žurnalo būseną ir patikrinkite HEAD būseną, kad patikrintumėte:
Pagal šią išvestį mūsų HEAD dabar nurodo „funkcijų“ šaką:
Taigi, tai yra įprastas HEAD scenarijus „Git Bash“.
Ką reiškia atskirtos galvos būsena?
Kaip minėjome aukščiau, atsieta HEAD būsena atsiranda, kai HEAD nurodo įsipareigojimą, o ne šaką. Kai persijungsite į naujausią įsipareigojimą, jūsų HEAD parodys įsipareigojimą, ir tai yra atskirta HEAD būsena. Norėdami geriau suprasti, peržiūrėkite praktinį vadovą.
1 veiksmas: patikrinkite galvos būseną
Pirmiausia parodykite žurnalą, kad pamatytumėte HEAD būseną, vykdydami šią komandą „Git Bash“:
Šiuo metu HEAD rodo į „ funkcija “ filialas.
2 veiksmas: patikrinkite įsipareigojimą
Perjunkite HEAD į naujausią įsipareigojimą naudodami šią komandą kartu su SHA maiša:
Pamatysite, kad atjungta HEAD būsena pasirodo perėjus į įsipareigojimą, o ne į šaką.
3 veiksmas: dar kartą patikrinkite galvos būseną
Dabar, jei parodysite žurnalą, kad patikrintumėte HEAD būseną, pamatysite, kad jis nurodo įsipareigojimą:
Čia yra atskirta „Git“ HEAD būsena.
Kokios situacijos sukuria atskirtas HEAD būsenas?
Yra dvi situacijos, kai galima pamatyti atskirtą HEAD būseną, žr. toliau pateiktą lentelę:
1 situacija | Kai vartotojas pereina prie SHA maišos įsipareigojimo, o ne šakos. |
2 situacija | Kai vartotojas persijungia į nuotolinį filialą prieš jį paimdamas. |
Kaip išspręsti „Git“ atsiskyrusios HEAD problemas?
Dabar pažiūrėkime, kaip galite išspręsti atskirtą HEAD problemą. Tai gana paprasta išspręsti, tiesiog sukurkite naują šaką, perjunkite į ją ir atlikite pakeitimus. Norėdami tai pamatyti praktiškai, peržiūrėkite pateiktas instrukcijas.
1 veiksmas: sukurkite naują filialą
Pirmiausia sukurkite naują filialą naudodami „git filialas“ komanda:
2 veiksmas: perjunkite į sukurtą filialą
Po to pereikite prie jo per „git jungiklis“ komandą ir įveskite šakos pavadinimą:
3 veiksmas: atlikite pakeitimus
Patvirtinkite pritaikytus pakeitimus ir nurodykite pranešimą naudodami „ m “ žyma:
4 veiksmas: patikrinkite žurnalą
Dabar patikrinkite HEAD būseną rodydami žurnalą:
Taip galite išspręsti atjungtos HEAD būseną.
Išvada
Git detached HEAD būsena pasirodė, kai HEAD nurodė įsipareigojimą, o ne šaką. Norėdami tai išspręsti, tiesiog sukurkite naują šaką, perjunkite į ją ir atlikite pakeitimus. Išsamiai sužinojote apie „Git“ atskirtas HEAD problemas.