Pochopenie a vyriešenie problému Git Detached Head

Pochopenie A Vyriesenie Problemu Git Detached Head



V Git Bash je HEAD pobočkou, v ktorej pracuje vývojár. Ako profesionálny používateľ Git Bash ste možno počuli o stave oddelenej HEAD. Niektorí používatelia považujú túto podmienku za alarmujúcu, znamená to len, že vaša HEAD ukazuje na konkrétny commit namiesto na vetvu.

Táto príručka obsahuje obsah o hlbokom porozumení normálnych oddelených stavov HEAD a riešeniach na vyriešenie oddelených stavov HEAD vrátane nasledujúceho obsahu:

Aký je normálny stav HEAD v Git?

Normálny stav HEAD v Git je tam, kde vaša HEAD ukazuje na aktuálnu vetvu. Keď používateľ prepne medzi rôznymi vetvami, HEAD sa tiež prepne na túto vetvu. Pre praktickú ukážku si pozrite nasledujúce kroky.







Krok 1: Zobrazte stav denníka
Otvorte Git Bash a zobrazte protokol projektu pomocou 'git log' príkaz:



git log



V súčasnosti naša HLAVA ukazuje na „ majster “ pobočka.





Krok 2: Prepnite pobočku
Teraz prepnite na inú miestnu pobočku a potom skontrolujte polohu ukazovateľa HEAD. Odhlasujeme napríklad „ vlastnosť ” pobočka:

git pokladňa vlastnosť



Pobočka bola zmenená na „ vlastnosť “.

Krok 3: Skontrolujte denník
Znova si pozrite stav denníka úložiska a skontrolujte stav HEAD na overenie:

git log

Podľa nasledujúceho výstupu teraz naša HEAD ukazuje na vetvu „feature“:

Toto je normálny scenár HEAD v Git Bash.

Čo znamená stav oddelenej hlavy?

Ako sme spomenuli vyššie, stav odpojenej HEAD nastane, keď HEAD ukazuje na odovzdanie namiesto vetvy. Keď prepnete na najnovšie odovzdanie, vaša HEAD ukáže na odovzdanie a toto je odpojený stav HEAD. Pre lepšie pochopenie si prečítajte praktickú príručku.

Krok 1: Skontrolujte stav hlavy
Najprv zobrazte protokol, aby ste videli stav HEAD spustením tohto príkazu v Git Bash:

git log --online

V súčasnosti HEAD ukazuje na „ vlastnosť “ pobočka.

Krok 2: Skontrolujte Záväzok
Prepnime HEAD na najnovšie odovzdanie pomocou nasledujúceho príkazu spolu s hashom SHA:

git pokladňa b8d840c

Uvidíte, že stav odpojenej HEAD sa objaví po prepnutí na odovzdanie namiesto vetvy.

Krok 3: Znova skontrolujte stav hlavy
Ak teraz zobrazíte protokol, aby ste skontrolovali stav HEAD, uvidíte, že ukazuje na odovzdanie:

git log --online

Tu je oddelený stav HEAD Git.

Aké situácie vytvárajú samostatné štáty HEAD?

Existujú dve situácie, v ktorých je možné vidieť oddelený stav HEAD, pozrite si tabuľku nižšie:

Situácia 1 Keď sa používateľ prepne na SHA hash commit namiesto vetvy.
situácia 2 Keď používateľ prepne na vzdialenú vetvu pred jej načítaním.

Ako vyriešiť Git-Detached HEAD problémy?

Teraz sa pozrime, ako môžete vyriešiť oddelený problém HEAD. Je to celkom jednoduché vyriešiť, jednoducho vytvorte novú vetvu, prepnite sa na ňu a potvrďte zmeny. Ak si to chcete pozrieť v praxi, pozrite si uvedené pokyny.

Krok 1: Vytvorte novú pobočku
Najprv vytvorte novú vetvu cez 'git vetva' príkaz:

git vetva Nový

Krok 2: Prepnite sa na vytvorenú pobočku
Potom naň prepnite cez 'git prepínač' príkaz a zadajte názov pobočky:

git prepnúť nový

Krok 3: Potvrdenie zmien
Potvrďte aplikované zmeny a špecifikujte správu pomocou „ m Značka ”:

git commit -m 'pobočka prepnutá'

Krok 4: Skontrolujte denník
Teraz skontrolujte stav HEAD zobrazením denníka:

git log

Takto môžete vyriešiť stav odpojenej HEAD.

Záver

Stav odpojenej HEAD od Git sa objavil, keď HEAD ukazoval na odovzdanie namiesto na vetvu. Ak to chcete vyriešiť, jednoducho vytvorte novú vetvu, prepnite sa na ňu a potvrďte zmeny. Dozvedeli ste sa podrobne o oddelených problémoch HEAD v Git.