Wskaźnik HEAD w Git
Git utrzymuje zmienną referencyjną o nazwie HEAD. I nazywamy tę zmienną wskaźnikiem, ponieważ jej celem jest odwołanie się lub wskazanie konkretnego zatwierdzenia w repozytorium. Gdy wprowadzamy nowe zatwierdzenia, wskaźnik zmieni się lub przejdzie do wskazania nowego zatwierdzenia. HEAD zawsze wskazuje na wierzchołek bieżącej gałęzi w naszym repozytorium. Ma to związek z naszym repozytorium, a nie z indeksem pomostowym lub katalogiem roboczym.
Innym sposobem myślenia o tym jest ostatni stan naszego repozytorium lub to, co zostało ostatnio wyewidencjonowane, a ponieważ jest to miejsce, w którym repozytorium zostało przerwane lub ostatni stan, można również powiedzieć, że HEAD wskazuje na rodzica następnego zatwierdzenia lub jego gdzie będzie miało miejsce zapisywanie zmian.
Myślę, że dobrą metaforą do przemyślenia tego jest odtwarzanie i nagrywanie na magnetofonie kasetowym. Gdy zaczynamy nagrywać dźwięk, taśma przesuwa się obok głowy i nagrywa na nią. po naciśnięciu przycisku Zatrzymaj miejsce, w którym zatrzymana jest głowica zapisująca, to miejsce, w którym zacznie ponownie nagrywać po ponownym naciśnięciu przycisku Nagrywaj. Teraz możemy się poruszać, możemy przesunąć głowicę w różne miejsca, ale gdziekolwiek jest ona umieszczona kiedy ponownie uderzymy w Record, zacznie się nagrywanie.
Wskaźnik HEAD w Git jest bardzo podobny, wskazuje miejsce, w którym rozpoczniemy nagrywanie w następnej kolejności. To miejsce, w którym przerwaliśmy w naszym repozytorium rzeczy, które popełniliśmy.