Conceitos-chave

Referência de commit

  • Em inglês: commit reference

Uma referência de commit é uma forma de se referir a commits específicos ao executar comandos do Git. Ela pode ser um hash de commit, um nome de branch, uma tag ou uma referência especial como HEAD~2. As referências de commit permitem navegar pelo histórico de commits e executar operações em commits específicos.

Há várias formas de se referir a commits. Estas são as mais comuns:

  • Hashes de commit: Você pode usar o hash SHA-1 completo de 40 caracteres (por exemplo, 346ca091076783c70623aba03fb7139d3d27134f) ou uma versão encurtada (normalmente os 7 primeiros caracteres, como 346ca09), desde que ela continue única dentro do repositório.

  • Tags: São nomes legíveis para humanos (por exemplo, v1.0) que você pode atribuir a commits específicos.

  • Nomes de branch: São ponteiros para o commit mais recente de uma branch. As branches (por exemplo, main, new-dashboard-feature) são as linhas paralelas de desenvolvimento no Git.

  • HEAD: É uma referência especial que aponta para o commit que está atualmente no seu diretório de trabalho. Normalmente ele aponta para o commit mais recente da branch atual, mas também pode apontar para um commit específico se você tiver feito checkout desse commit diretamente.

  • Referências relativas (por exemplo, HEAD~5, que significa o quinto commit antes do HEAD, ou HEAD^, que significa o commit anterior ao mais recente).

  • Referências do reflog (por exemplo, HEAD@{2} ou main@{yesterday}) permitem apontar para commits como eles aparecem no git reflog, o que é especialmente útil quando você precisa recuperar um commit que ficou órfão ou é difícil de encontrar no histórico normal.