Forstå og løse Git Detached Head-problemet

Forsta Og Lose Git Detached Head Problemet



I Git Bash er HEAD grenen der utvikleren jobber. Som en profesjonell bruker av Git Bash har du kanskje hørt om den løsrevne HEAD-tilstanden. Noen brukere synes denne tilstanden faktisk er alarmerende, det betyr bare at HODET ditt peker på den spesifikke forpliktelsen i stedet for grenen.

Denne veiledningen inneholder innhold om den dype forståelsen av normale løsnede HEAD-tilstander og løsninger for å løse løsrevet HEAD, inkludert følgende innhold:

Hva er den normale HEAD-tilstanden i Git?

Den normale HEAD-tilstanden i Git er der HEAD-en din peker til gjeldende gren. Når brukeren vekslet mellom ulike grener, blir HEAD også byttet til den grenen. Sjekk ut følgende trinn for praktisk demonstrasjon.







Trinn 1: Vis loggstatus
Åpne Git Bash og vis loggen for prosjektet ved å bruke 'git logg' kommando:



git logg



For øyeblikket peker HOVEDET vårt på ' herre ' gren.





Trinn 2: Bytt gren
Bytt nå til en annen lokal filial, og kontroller deretter HEAD-pekerens posisjon. For eksempel sjekker vi ut til ' trekk ' gren:

git utsjekking trekk



Filialen er byttet til ' trekk '.

Trinn 3: Sjekk logg
Se loggstatusen til depotet på nytt og kontroller HEAD-tilstanden for bekreftelse:

git logg

I følge følgende utgang peker HODET vårt nå på 'funksjons'-grenen:

Så dette er det normale HEAD-scenariet i Git Bash.

Hva betyr Detached Head State?

Som vi nevnte ovenfor, oppstår en løs HEAD-tilstand når HEAD peker på commit i stedet for grenen. Når du bytter til den siste commit, vil HEAD peke på commit, og dette er den frakoblede HEAD-tilstanden. For bedre forståelse, gå gjennom den praktiske håndboken.

Trinn 1: Sjekk hodestatus
Vis først loggen for å se HEAD-tilstanden ved å kjøre denne kommandoen i Git Bash:

git logg --på nett

For øyeblikket peker HEAD på ' trekk ' gren.

Trinn 2: Sjekk ut forpliktelsen
La oss bytte HEAD til den siste forpliktelsen ved å bruke følgende kommando sammen med SHA-hashen:

git utsjekking b8d840c

Du vil se at den frakoblede HEAD-tilstanden vises når du bytter til commit i stedet for grenen.

Trinn 3: Sjekk hodestatus på nytt
Nå, hvis du viser loggen for å sjekke HEAD-tilstanden, vil du se at den peker til commit:

git logg --på nett

Her er den løsrevne HEAD-tilstanden til Git.

Hvilke situasjoner skaper frittstående HEAD-stater?

Det er to situasjoner der en løsrevet HODE-tilstand kan sees, sjekk ut tabellen nedenfor:

Situasjon 1 Når brukeren bytter til SHA-hash-commit i stedet for grenen.
Situasjon 2 Når brukeren bytter til den eksterne grenen før han henter den.

Hvordan løse Git-Detached HEAD-problemer?

La oss nå se hvordan du kan løse problemet med løsrevet HEAD. Det er ganske enkelt å løse, bare opprett en ny gren, bytt til den og foreta endringene. For å se det praktisk talt sjekk ut de gitte instruksjonene.

Trinn 1: Opprett en ny gren
Først oppretter du den nye grenen gjennom 'git branch' kommando:

git gren ny

Trinn 2: Bytt til den opprettede grenen
Etter det bytter du til den gjennom 'git switch' kommando og skriv inn filialnavnet:

git bytt ny

Trinn 3: Bekreft endringer
Bekreft de anvendte endringene og spesifiser meldingen ved å bruke ' m ' stikkord:

git forplikte -m 'gren byttet'

Trinn 4: Sjekk logg
Sjekk nå statusen til HEAD ved å vise loggen:

git logg

Slik kan du løse tilstanden løsrevet HODE.

Konklusjon

Git detached HEAD-tilstanden dukket opp når HEAD pekte på commit i stedet for grenen. For å løse det, bare opprette en ny filial, bytt til den og foreta endringene. Du har lært detaljert om løsrevne HEAD-problemer i Git.