Git es un sistema de control de versiones distribuido, creado por Linus Torvalds en 2005. Permite a múltiples desarrolladores trabajar de forma simultánea en un proyecto, manteniendo un historial completo de cambios, versiones y colaboraciones sin necesidad de conexión constante con un servidor central.
Términos esenciales en Git
- Repositorio (Repository): Es el lugar donde se almacena todo el historial del proyecto. Puede ser local (en tu máquina) o remoto (como en GitHub, GitLab o Bitbucket).
- Commit: Es una captura de los cambios realizados en los archivos del proyecto. Incluye un mensaje descriptivo y sirve como un punto de control en la historia del desarrollo.
- Rama (Branch): Es una línea paralela de desarrollo. La rama principal suele llamarse
main
omaster
, y se pueden crear otras ramas para desarrollar nuevas funcionalidades sin afectar al código principal. - Merge (Fusión): Es la acción de combinar los cambios de una rama con otra. Suele hacerse cuando se termina una funcionalidad y se quiere unir a la rama principal.
- Pull: Descarga los cambios desde el repositorio remoto y los fusiona con tu rama local.
- Push: Envía tus commits locales al repositorio remoto.
- Clone: Crea una copia local de un repositorio remoto.
- Fetch: Descarga los cambios del remoto pero sin fusionarlos automáticamente (a diferencia de
pull
). - Checkout: Cambia de rama o te traslada a un commit específico del historial.
- Staging Area (o Index): Zona intermedia donde se preparan los cambios antes de confirmarlos con un commit. Se añaden con
git add
. - HEAD: Es el puntero que indica la posición actual del repositorio (normalmente apunta a la rama activa o al último commit).
- Conflict (Conflicto): Ocurre cuando Git no puede fusionar automáticamente los cambios entre ramas. Requiere intervención manual.