Referencia

Git Glosario

Guía de la A a la Z de la terminología de Git. 60 términos esenciales explicados con palabras sencillas.

A

Ancestro

Un commit que precede a otro en el historial. Los commits padre y sus padres son todos ancestros.

Etiqueta anotada

Una etiqueta que guarda metadatos extra como el nombre y el correo de quien la crea, la fecha y un mensaje. Recomendada para las versiones.

B

Repositorio bare

Un repositorio sin directorio de trabajo. Solo contiene lo que hay en la carpeta .git. Se usa como repositorio central para compartir.

Blob

Un objeto de Git que guarda el contenido de un archivo. Abreviatura de «binary large object».

Ramificar

Un puntero móvil a un commit. Representa una línea de desarrollo independiente en un repositorio.

C

Cherry-pick

Copiar los cambios de un commit existente en tu rama actual como un commit nuevo (con un hash nuevo).

Clon

Una copia completa de un repositorio remoto, con cada commit y ramas de seguimiento remoto como origin/main, creada con git clone.

Commit

Una instantánea de tu repositorio en un momento concreto. Contiene un árbol, el commit o commits padre, el autor y un mensaje.

Hash del commit

Una suma de comprobación SHA-1 de 40 caracteres que identifica un commit de forma única. Casi siempre se puede abreviar a 7 caracteres.

Conflicto

Ocurre cuando Git no puede fusionar los cambios automáticamente porque las mismas líneas se modificaron de forma distinta en las dos ramas.

D

HEAD desacoplado

Un estado en el que HEAD apunta directamente a un commit en lugar de a una rama. Los cambios hechos aquí pueden perderse si no se guardan en una rama.

Diff

La diferencia entre dos versiones de un archivo o conjunto de archivos. Muestra lo añadido, lo borrado y lo modificado.

E

Repositorio incrustado

Una carpeta con su propio .git dentro de otro repositorio. Git solo la registra como un puntero a un commit (un gitlink); usa submódulos en su lugar.

F

Fast-forward

Una fusión en la que el puntero de la rama simplemente avanza porque no hay commits divergentes. No se crea commit de merge.

Fetch

Descargar commits y referencias nuevos de un remoto sin tocar tus propias ramas ni tu árbol de trabajo.

Fixup

Una acción del rebase interactivo que funde un commit con el anterior y descarta su mensaje.

Force with Lease

git push --force-with-lease: sobrescribir la rama remota solo si sigue apuntando donde la viste por última vez, para no perder nunca el trabajo de un compañero.

Fork

Una copia personal de otro repositorio en un servicio de alojamiento. Muy usada en el código abierto para proponer cambios mediante pull requests.

G

Commit injertado

En un clon superficial, el commit más antiguo descargado: sus padres existen en el servidor pero nunca se descargaron.

H

HEAD

Un puntero a la referencia de rama o al commit actual. Representa tu posición actual en el historial del repositorio.

Hook

Un script que se ejecuta automáticamente cuando ocurren ciertos eventos de Git, como pre-commit, post-commit o pre-push.

Hotfix

Una corrección urgente para código publicado, normalmente hecha en la rama de release, etiquetada y luego llevada de vuelta a main.

Hunk

Un bloque de líneas cambiadas en un diff, con algunas líneas de contexto sin cambios alrededor. git add -p prepara hunk a hunk.

I

Índice

También llamado área de preparación. Una zona intermedia donde se preparan los cambios antes de confirmarlos en el repositorio.

Rebase interactivo

git rebase -i: reescribir una serie de commits editando una lista de tareas (pick, reword, squash, fixup, drop).

L

Etiqueta ligera

Un simple puntero a un commit sin metadatos adicionales. Solo un nombre para un commit concreto.

M

Main/Master

La rama principal por defecto de un repositorio. «main» es la convención moderna; «master», el nombre antiguo.

Commit de merge

Un commit con dos o más padres que combina en uno los cambios de distintas ramas.

Conflicto de merge

Cuando Git no puede resolver automáticamente las diferencias entre dos ramas. Hay que resolverlo a mano.

O

Objeto

La unidad de almacenamiento básica de Git. Hay cuatro tipos: blob (archivo), tree (directorio), commit y tag.

ORIG_HEAD

Una referencia que Git fija antes de operaciones arriesgadas (reset, merge, rebase) en el punto donde estaba HEAD; git reset --hard ORIG_HEAD las deshace.

Origin

El nombre por defecto del repositorio remoto desde el que clonaste. Apunta a la fuente original.

P

Commit padre

El commit que precede directamente a otro. Los commits de merge tienen varios padres.

Pathspec

Un patrón que limita las rutas en los comandos de Git. Puede incluir comodines e indicaciones de directorios.

Prune

Eliminar las ramas de seguimiento remoto cuya rama ya no existe en el remoto (git fetch --prune).

Pull

git fetch seguido de integrar con merge (o rebase) el upstream descargado en tu rama actual.

Pull request

Una solicitud en una plataforma de alojamiento (GitHub, GitLab…) para revisar una rama y fusionarla en otra. No es un comando de Git.

Push

Subir tus commits a un remoto y mover su rama para que coincida con la tuya.

R

Rebase

Reaplicar commits encima de otro commit base, lo que produce commits nuevos y un historial lineal.

Referencia (ref)

Abreviatura de «reference». Un puntero a un commit, como un nombre de rama, una etiqueta o HEAD.

Reflog

Un registro de todas las actualizaciones de referencias en tu repositorio local. Anota cada cambio en las puntas de las ramas y en HEAD.

Rama de release

Una rama que contiene una versión publicada para poder corregirla mientras main sigue avanzando.

Remoto

Una versión de tu repositorio alojada en otro sitio (como GitHub o GitLab). Se usa para colaborar y como copia de seguridad.

Rama de seguimiento remoto

Un marcador local de solo lectura de una rama remota, como origin/main, que actualizan fetch, pull y push.

Repositorio

Un directorio con los archivos de tu proyecto y todo el historial de Git guardado en una carpeta .git.

Revert

Un commit nuevo que deshace los cambios de otro anterior sin reescribir el historial: seguro en ramas compartidas.

S

SHA-1

La función hash criptográfica que usa Git para generar identificadores únicos de commits y objetos.

Clon superficial

Un clon con solo los commits más recientes (git clone --depth N), habitual en CI; se amplía con fetch --depth o --unshallow.

Commit firmado

Un commit con una firma GPG (o SSH) que los servicios de alojamiento pueden mostrar como «Verified». Se crea con git commit -S.

Squash

Combinar varios commits en uno, p. ej. con un rebase interactivo o git merge --squash.

Área de preparación

La zona intermedia entre tu directorio de trabajo y el repositorio, donde preparas los commits. También se llama índice.

Stash

Un estante temporal para los cambios sin commit (git stash), para cambiar de tarea con el árbol de trabajo limpio.

Submódulo

Un repositorio incrustado dentro de otro. Útil para incluir dependencias externas en una versión concreta.

T

Etiqueta

Una referencia con nombre que apunta a un commit concreto. Suele usarse para marcar versiones publicadas como v1.0.0.

Rama de seguimiento

Una rama local con una relación directa con una rama remota. Permite hacer push/pull sin indicar el remoto.

Tree (árbol)

Un objeto de Git que representa un directorio. Contiene referencias a blobs (archivos) y a otros trees (subdirectorios).

U

Archivo sin seguimiento

Un archivo del directorio de trabajo que Git no vigila. No entra en los commits hasta que se añade explícitamente.

Upstream

La rama remota que sigue una rama local. La fuente desde la que se traen los cambios.

W

Directorio de trabajo

El directorio de tu sistema de archivos donde editas los archivos. Contiene la versión actual de tu proyecto.

Árbol de trabajo

Otro nombre del directorio de trabajo. Los archivos que ves y editas en la carpeta del proyecto.