Guía de Git: Términos comunes de Git
Introducción
Git™ es un sistema de control de versiones que permite llevar un registro detallado de los cambios realizados en archivos a lo largo del tiempo. Cada vez que un archivo se modifica, Git guarda un historial de esa modificación, lo que facilita volver a versiones anteriores, comparar diferencias y colaborar con otros desarrolladores.
Dado que Git cuenta con muchas funciones, también utiliza terminología propia que puede resultar confusa para quienes empiezan.
Glosario básico de Git
Archivo comprimido (Archive)
Una forma de empaquetar los archivos actuales del proyecto (sin incluir la carpeta .git ni cambios no guardados) en un .zip o .tar. Es útil para generar una versión descargable del código.
Rama (Branch)
Cada rama representa una línea de trabajo independiente dentro de un repositorio. Conserva su propio historial, área de trabajo y zona de preparación. Permiten desarrollar funciones o correcciones sin afectar la rama principal hasta que se decida fusionar.
Checkout
Este término tiene dos usos:
- Cambiar de una rama o commit a otro (
git checkout <rama>). - Restaurar un archivo a un estado anterior (
git checkout -- archivo).
Cherry-pick
Aplicar cambios de un commit específico a otra rama, sin necesidad de fusionar todo el historial.
Clonar (Clone)
Crear una copia local de un repositorio remoto (git clone). Esto incluye su historial, ramas y la configuración para conectarse al repositorio original.
Commit
Un punto concreto en la historia del proyecto. Al hacer un commit, se guarda el estado actual de los archivos en el repositorio junto con un mensaje descriptivo.
Objeto de commit
Elemento que guarda los archivos de un commit, sus commits padres, información como autor y fecha, y un identificador único (hash SHA-1).
Despliegue (Deployment)
Proceso de llevar el código listo a un entorno de producción. Puede hacerse manualmente o configurarse para que ocurra de forma automática al actualizar el repositorio.
Fetch
Descarga los cambios de un repositorio remoto sin fusionarlos con el código local.
Fork
Copia del repositorio en otro servidor para poder experimentar sin afectar el original.
HEAD
Referencia al commit más reciente de la rama activa. Cambia cada vez que se hace un nuevo commit.
Cabezas (Heads)
Identificadores de los commits más recientes de cada rama. Cada rama tiene su propio head.
Hook
Scripts que se ejecutan automáticamente antes o después de ciertas acciones de Git, como recibir un push o hacer un commit.
Índice / Área de preparación (Index / Staging area)
Espacio donde se almacenan los archivos que serán incluidos en el próximo commit.
Log
Lista del historial de commits de una rama, que incluye mensajes, fechas y autores.
Master o main
Nombre habitual de la rama principal de un proyecto.
Merge (Fusión)
Combinar cambios de una rama con otra. Puede hacerse automáticamente o resolviendo conflictos si hay cambios incompatibles.
Origin
Nombre por defecto que Git da al repositorio remoto desde el que se ha clonado.
Pull
Descarga y fusiona cambios del repositorio remoto a la rama actual.
Push
Envía commits desde la rama local al repositorio remoto.
Rebase
Reescribe el historial aplicando los commits de una rama sobre otra, eliminando merges intermedios.
Repositorio (Repository)
Contenedor que almacena el historial, las ramas y los archivos de un proyecto.
SHA-1
Identificador único (cadena hexadecimal de 40 caracteres) que Git usa para reconocer objetos como commits o ramas.
Stash
Función que permite “guardar para después” cambios no confirmados, dejándolos fuera del área de trabajo temporalmente.
Control de versiones (Version control)
Sistema que registra cambios en archivos y coordina el trabajo entre múltiples personas.
Área de trabajo (Working tree)
Conjunto de archivos que ves y editas en tu sistema. Corresponde a la versión actual del commit activo más los cambios locales.
