Volver al diccionario
Desarrollo Web
Git
Git es el sistema de control de versiones más usado del mundo. Aprende qué es, sus comandos esenciales, cómo funciona con ramas y su diferencia con GitHub.
Qué es Git
Git es un sistema de control de versiones que permite rastrear cambios en archivos de código, colaborar con otros desarrolladores y mantener un historial completo de modificaciones.
Conceptos básicos
Repositorio
Directorio que contiene tu proyecto y su historial de cambios.
Commit
Snapshot de los cambios en un momento dado. Cada commit tiene un mensaje descriptivo.
Branch (rama)
Línea independiente de desarrollo. Permite trabajar en features sin afectar el código principal.
Merge
Combinar los cambios de una rama con otra.
Clone
Crear una copia local de un repositorio remoto.
Comandos esenciales
\\\`bash
# Iniciar repositorio
git init
# Clonar repositorio
git clone https://github.com/usuario/proyecto.git
# Ver estado de cambios
git status
# Añadir archivos al staging
git add .
# Crear commit
git commit -m "Añadir nueva funcionalidad"
# Subir al remoto
git push origin main
# Descargar cambios del remoto
git pull origin main
# Crear y cambiar de rama
git checkout -b nueva-funcionalidad
\\\`
Plataformas de alojamiento de repositorios
- GitHub: La más popular, propiedad de Microsoft. Estándar para proyectos open source y privados.
- GitLab: Alternativa open source con CI/CD integrado en la misma plataforma.
- Bitbucket: De Atlassian, integrado con Jira y Confluence. Popular en entornos enterprise.
Flujos de trabajo con Git
Feature Branches
Cada nueva funcionalidad se desarrolla en su propia rama, se revisa mediante Pull Request y se fusiona con la rama principal cuando está lista.
Git Flow
Metodología más estructurada con ramas permanentes (main, develop) y ramas temporales (feature, release, hotfix). Útil en proyectos con releases programadas.
Trunk-Based Development
Todo el equipo trabaja muy cerca de la rama principal, con ramas de vida muy corta. Favorece la integración continua.
Preguntas frecuentes
¿Qué diferencia hay entre Git y GitHub?
Git es el sistema de control de versiones: un programa que instalas en tu ordenador. GitHub es una plataforma web que aloja repositorios Git en la nube y añade funcionalidades de colaboración (Pull Requests, Issues, Actions). Es como la diferencia entre un documento Word y Google Drive: el documento es local, Drive es donde lo almacenas y compartes.
¿Git es lo mismo que SVN?
No. SVN (Subversion) es otro sistema de control de versiones pero centralizado: hay un único repositorio central y los desarrolladores hacen commit directamente sobre él. Git es distribuido: cada desarrollador tiene una copia completa del repositorio. Git permite trabajar offline, hace el merge más fácil y es mucho más rápido.
¿Qué pasa si hago un git push --force y pierdo commits?
Un force push puede sobrescribir el historial del repositorio remoto y hacer que otros desarrolladores pierdan su trabajo. Es una operación destructiva que debe evitarse en ramas compartidas (main, develop). Si ocurre, git reflog puede ayudar a recuperar commits perdidos localmente.
Necesitas ayuda con tu ecommerce?
Somos expertos en desarrollo de tiendas online. Cuéntanos tu proyecto y te asesoramos sin compromiso.
Contactar con Ganton