Skip to content
Latchkey

O Que É HEAD no Git?

HEAD é um ponteiro para o commit que você tem atualmente em checkout, geralmente por meio da branch em que você está.

HEAD é uma das referências mais úteis de entender no Git. Ele diz onde você está: o commit que seu diretório de trabalho reflete e o lugar ao qual seu próximo commit vai se anexar. Na maior parte do tempo o HEAD aponta para uma branch, que por sua vez aponta para um commit.

Para o que o HEAD aponta

Normalmente o HEAD aponta para um nome de branch, e essa branch aponta para um commit. Então o HEAD identifica indiretamente o seu commit atual. Quando você faz um novo commit, a branch avança e o HEAD a segue, mantendo você na ponta da sua branch.

Inspecionando o HEAD

Você pode perguntar ao Git onde o HEAD está e referenciá-lo pelo nome nos comandos.

Referring to HEAD
git rev-parse HEAD
git log -1 HEAD
git show HEAD~1

Como o HEAD se move

Trocar de branch move o HEAD para apontar para a nova branch. Fazer commit avança a branch e o HEAD juntos. Você também pode referenciar commits relativos ao HEAD, por exemplo HEAD~1 para o commit anterior, o que é útil para inspecionar ou desfazer trabalho recente.

HEAD em CI/CD

Quando um runner de CI faz checkout do seu repositório, ele define o HEAD para o commit sendo construído. Muitos pipelines calculam diffs contra o HEAD ou uma ref base para decidir quais testes executar. Saber para o que o HEAD aponta em um job ajuda a explicar por que um workflow fez o build de um commit específico.

Coisas para lembrar sobre o HEAD

  • O HEAD geralmente aponta para uma branch, que aponta para um commit.
  • Fazer commit move a branch e o HEAD juntos.
  • HEAD~1 e HEAD^ referenciam commits anteriores em relação ao agora.
  • Um HEAD desanexado aponta diretamente para um commit, não para uma branch.

Principais conclusões

  • HEAD aponta para o seu commit atual, geralmente através de uma branch.
  • Ele se move conforme você faz commit e troca de branch.
  • O CI define o HEAD para o commit que ele faz checkout e build.

Guias relacionados