Förstå och lösa problemet med Git Detached Head

Forsta Och Losa Problemet Med Git Detached Head



I Git Bash är HEAD grenen där utvecklaren arbetar. Som professionell användare av Git Bash kanske du har hört talas om tillståndet fristående HEAD. Vissa användare tycker att detta tillstånd faktiskt är alarmerande, det betyder bara att ditt HEAD pekar på den specifika commit istället för grenen.

Den här guiden innehåller innehåll om den djupa förståelsen av normala tillstånd för fristående HEAD och lösningar för att lösa det fristående HEAD inklusive följande innehåll:

Vad är det normala huvudtillståndet i Git?

Det normala HEAD-tillståndet i Git är där ditt HEAD pekar på den aktuella grenen. När användaren växlar mellan olika grenar växlas även HEAD till den grenen. Kolla in följande steg för praktisk demonstration.







Steg 1: Visa loggstatus
Öppna Git Bash och visa loggen för projektet med hjälp av 'git log' kommando:



git logg



För närvarande pekar vårt HEAD på ' bemästra ” gren.





Steg 2: Byt gren
Byt nu till en annan lokal filial och kontrollera sedan HEAD-pekarens position. Till exempel checkar vi ut till ' funktion ' gren:

git kassan funktion



Filialen har bytts till ' funktion ”.

Steg 3: Kontrollera Logg
Visa loggstatusen för förvaret igen och kontrollera HEAD-tillståndet för verifiering:

git logg

Enligt följande utdata pekar vårt HEAD nu på 'funktions'-grenen:

Så, detta är det normala HEAD-scenariot i Git Bash.

Vad betyder fristående huvudtillstånd?

Som vi nämnde ovan uppstår ett fristående HEAD-tillstånd när HEAD pekar på commit istället för grenen. När du byter till den senaste commit kommer ditt HEAD att peka på commit, och detta är det fristående HEAD-tillståndet. För bättre förståelse, gå igenom den praktiska handboken.

Steg 1: Kontrollera huvudstatus
Visa först loggen för att se HEAD-tillståndet genom att köra detta kommando i Git Bash:

git logg --uppkopplad

För närvarande pekar HEAD på ' funktion ” gren.

Steg 2: Kolla in Commit
Låt oss byta HEAD till den senaste commit med följande kommando tillsammans med SHA-hash:

git kassan b8d840c

Du kommer att se att tillståndet fristående HEAD visas när du byter till commit istället för gren.

Steg 3: Kontrollera huvudstatus igen
Nu, om du visar loggen för att kontrollera HEAD-tillståndet, kommer du att se att den pekar på commit:

git logg --uppkopplad

Här är det fristående HEAD-tillståndet för Git.

Vilka situationer skapar fristående HEAD-stater?

Det finns två situationer där ett fristående HEAD-tillstånd kan ses, kolla in tabellen nedan:

Situation 1 När användaren byter till SHA-hash-commit istället för grenen.
Situation 2 När användaren byter till fjärrgrenen innan han hämtar den.

Hur löser man problem med Git-Detached HEAD?

Låt oss nu se hur du kan lösa problemet med fristående HEAD. Det är ganska enkelt att lösa, skapa bara en ny filial, byt till den och genomför ändringarna. För att se det praktiskt taget kolla in de givna instruktionerna.

Steg 1: Skapa en ny filial
Skapa först den nya grenen genom 'git branch' kommando:

git gren ny

Steg 2: Byt till den skapade grenen
Efter det byter du till det genom 'git switch' kommando och skriv filialnamnet:

git byta nytt

Steg 3: Bekräfta ändringar
Bekräfta de tillämpade ändringarna och ange meddelandet med ' m ' tag:

git commit -m 'gren bytt'

Steg 4: Kontrollera Logg
Kontrollera nu status för HEAD genom att visa loggen:

git logg

Så här kan du lösa det fristående HEAD-tillståndet.

Slutsats

Tillståndet Git detached HEAD dök upp när HEAD pekade på commit istället för grenen. För att lösa det skapar du bara en ny filial, byter till den och genomför ändringarna. Du har lärt dig detaljerat om problem med fristående HEAD i Git.