Glosario
Definiciones breves para los términos de Git y GitHub utilizados en este manual. Cada uno tiene un enlace al capítulo que lo enseña en detalle.
branch
Un branch es una etiqueta móvil que apunta a un commit, permitiéndote trabajar en una línea de historial separada del resto del proyecto. Crear uno no copia archivos; agrega un puntero que puedes mover independientemente realizando commits en él. Ver Branches.
clone
git clone <url> copia un repositorio remoto en tu propia máquina, incluyendo su historial completo, listo para trabajar de inmediato. Ver Tu primer repositorio.
commit
Un commit es una instantánea guardada de tu proyecto: cada archivo rastreado tal como estaba en ese momento, un mensaje describiendo qué cambió, y un enlace al commit anterior. Ver El ciclo de commit.
detached HEAD
Detached HEAD es lo que ocurre cuando HEAD apunta directamente a un commit en lugar de a un branch, generalmente porque hiciste checkout de un commit específico en lugar de un nombre de branch. Los commits realizados allí quedan fuera de cualquier branch, lo que puede dificultar encontrarlos nuevamente una vez que cambies. Ver Branches.
fetch
git fetch descarga nuevos commits de un remoto sin fusionarlos en tu branch actual. Solo actualiza tus branches de seguimiento remoto, como origin/main. Ver Remotos y GitHub.
fork
Un fork es tu propia copia del repositorio de otra persona en GitHub, utilizado cuando deseas contribuir a un proyecto al que no tienes acceso de push. Ver El flujo de pull request.
.gitignore
.gitignore es un archivo que lista patrones de lo que Git nunca debe rastrear, como carpetas de dependencias y archivos que contienen secretos. Solo afecta archivos que Git no está rastreando ya. Ver Ignorar archivos y buenas prácticas.
HEAD
HEAD es el puntero de Git al commit que actualmente tienes checked out. La mayoría del tiempo apunta a tu branch actual, que a su vez apunta a un commit. Ver Branches.
main
main es el nombre convencional para el branch predeterminado de un repositorio. Repositorios y tutoriales más antiguos a veces utilizan master para el mismo rol. Ver Tu primer repositorio.
merge
git merge <branch> trae los commits de otro branch a tu branch actual, combinando los dos historiales en uno. Ver Fusionar y conflictos.
merge conflict
Un merge conflict ocurre cuando dos branches cambian las mismas líneas de un archivo y Git no puede combinarlas automáticamente. Git marca el lugar en conflicto con <<<<<<<, ======= y >>>>>>> y espera a que elijas el resultado correcto. Ver Fusionar y conflictos.
origin
origin es el nombre convencional que Git asigna al remoto del cual se clonó un repositorio. Es solo un nombre; puedes renombrarlo o agregar otros remotos libremente. Ver Remotos y GitHub.
pull
git pull descarga nuevos commits de un remoto y los fusiona en tu branch actual en un solo paso. Ver Remotos y GitHub.
pull request
Un pull request (PR) es una solicitud en GitHub para fusionar un branch en otro, abierta para discusión y revisión antes de que ocurra la fusión. Ver El flujo de pull request.
push
git push envía tus commits locales a un remoto, para que un host como GitHub, o un colaborador, pueda verlos. Ver Remotos y GitHub.
rebase
Rebase repite los commits de tu branch sobre un punto de partida diferente, produciendo una línea recta de historial en lugar de un commit de fusión. Reescribe el historial de commits, así que guárdalo para branches sobre los que nadie más ya ha construido. Ver Fusionar y conflictos.
reflog
El reflog es un registro local de todos los lugares a los que HEAD ha apuntado recientemente, incluyendo commits que un branch ya no alcanza. Es cómo recuperas un commit después de un reset o un branch eliminado, hasta que Git eventualmente lo limpia. Ver Deshacer cosas.
refspec
Un refspec es una asignación, almacenada en la configuración de un remoto, que le indica a git fetch qué branches en el remoto descargar y qué branches de seguimiento remoto registrar para ellos. Ver Remotos y GitHub.
remote
Un remote es una copia de un repositorio alojado en otro lugar, generalmente alcanzado a través de una URL. GitHub es un lugar popular para alojar un remoto, junto con opciones como GitLab y Bitbucket. Ver Remotos y GitHub.
remote-tracking branch
Un remote-tracking branch, como origin/main, es el registro local de tu repositorio de dónde estaba un branch en un remoto la última vez que hiciste fetch o pull. Nunca se actualiza por sí solo; solo un fetch o pull lo mueve. Ver Remotos y GitHub.
repository
Un repository, o repo, es una carpeta de proyecto que Git está rastreando, junto con el historial completo de cada commit realizado en él. Ver Tu primer repositorio.
reset
git reset mueve tu branch actual para que apunte a un commit diferente. --soft deja el área de staging y el directorio de trabajo sin cambios, --mixed también limpia el área de staging, y --hard sobrescribe el directorio de trabajo también, descartando cambios no confirmados, así que úsalo con cuidado en cualquier branch que ya hayas compartido. Ver Deshacer cosas.
revert
git revert <commit> crea un nuevo commit que deshace los cambios de uno anterior, dejando el commit original en su lugar. Es la forma segura de deshacer algo que ya está en un branch compartido. Ver Deshacer cosas.
staging area (index)
El staging area, también llamado index, es donde alineas exactamente lo que contendrá el siguiente commit. git add mueve cambios de tu directorio de trabajo al staging area, y git commit guarda lo que está staged. Ver El ciclo de commit.
stash
git stash guarda tus cambios sin confirmar para que puedas cambiar de tareas con un directorio de trabajo limpio, y luego traerlos de vuelta más tarde con git stash pop. Ver Deshacer cosas.
tag
Un tag es una etiqueta fija fijada a un commit, la mayoría de las veces marcando una versión. A diferencia de un branch, no se mueve cuando se realizan nuevos commits. Ver Branches.
terminal
La terminal es la aplicación donde escribes comandos como texto, incluyendo cada comando git, y lees lo que imprimen de vuelta. También se llama línea de comandos. Ver Tu primer repositorio.
upstream
El upstream de un branch es el branch remoto que rastrea, generalmente configurado con git push -u. Una vez que está configurado, git push y git pull simples funcionan en ese branch sin nombrar cada vez el remoto y el branch. Ver Remotos y GitHub.
working directory
El working directory es la carpeta actual de archivos en tu disco, la que está abierta en tu editor. Contiene cualquier estado en el que tus archivos estén ahora mismo, sin importar si algo de eso ha sido staged o confirmado. Ver El ciclo de commit.

