Conceptos clave

Referencia a un commit

Una referencia a un commit es una forma de referirse a commits concretos al ejecutar comandos de Git. Puede ser un hash de commit, un nombre de rama, una etiqueta o una referencia especial como HEAD~2. Las referencias a commits te permiten moverte por el historial de commits y realizar operaciones sobre commits concretos.

Hay varias formas de referirse a commits. Estas son las más habituales:

  • Hashes de commit: Puedes usar el hash SHA-1 completo de 40 caracteres (por ejemplo, 346ca091076783c70623aba03fb7139d3d27134f) o una versión abreviada (normalmente los 7 primeros caracteres, como 346ca09), siempre que siga siendo única dentro del repositorio.

  • Etiquetas: Son nombres legibles para personas (por ejemplo, v1.0) que puedes asignar a commits concretos.

  • Nombres de rama: Son punteros al commit más reciente de una rama. Las ramas (por ejemplo, main, new-dashboard-feature) son las líneas de desarrollo paralelas en Git.

  • HEAD: Es una referencia especial que apunta al commit que tienes actualmente en el directorio de trabajo. Normalmente apunta al commit más reciente de la rama actual, pero también puede apuntar a un commit concreto si has cambiado directamente a ese commit.

  • Referencias relativas (por ejemplo, HEAD~5, que significa el quinto commit anterior a HEAD, o HEAD^, que significa el commit anterior al más reciente).

  • Referencias de reflog (por ejemplo, HEAD@{2} o main@{yesterday}) te permiten apuntar a commits tal como aparecen en git reflog, algo especialmente útil cuando necesitas recuperar un commit que quedó huérfano o es difícil de encontrar en el historial normal.