Artículo de consulta · Programación
Git: cambios, commits, ramas y repositorios remotos
Git es un sistema de control de versiones. Registra el historial de un proyecto y permite trabajar con líneas de desarrollo mediante ramas. GitHub y otras plataformas pueden alojar repositorios Git, pero Git también funciona localmente sin una cuenta en ellas.
Tres lugares que conviene distinguir
El directorio de trabajo contiene los archivos que editas. El área de preparación, o staging, contiene lo que seleccionaste para el siguiente commit. Un commit registra una instantánea del contenido preparado. Guardar un archivo en el editor no crea un commit y crear un commit no lo publica automáticamente.
Primer flujo en una carpeta de práctica
Necesitas Git instalado y una identidad configurada para crear commits. En una carpeta nueva, crea primero un archivo notas.txt y ejecuta estos comandos. Añadir ese archivo explícitamente facilita revisar qué entrará al historial.
git init git status git add notas.txt git diff --staged git commit -m "Añadir notas iniciales" git log --oneline
Revisar antes de guardar
git diff muestra cambios sin preparar en archivos rastreados; git diff --staged muestra lo preparado. git status también detecta archivos nuevos que diff no muestra como una modificación normal. Revisa archivos y contenido antes de un commit; no incluyas contraseñas ni archivos .env con secretos.
Ramas y conflictos
Una rama permite desarrollar cambios con un nombre propio. git switch -c crea una rama y cambia a ella. Al integrar ramas puede haber conflictos si Git no puede combinar los cambios automáticamente. Resuelve el contenido, verifica el resultado y prepara los archivos resueltos antes de completar la integración.
git switch -c mejora-documentacion git status
Remotos: fetch, pull y push
Un remoto identifica otro repositorio. fetch descarga información e historial sin integrar por sí mismo los cambios en tu rama actual. pull obtiene cambios e intenta integrarlos según la configuración. push envía commits al remoto; necesita un destino y permisos. Revisa git remote -v y la rama antes de sincronizar.
Ejercicio
- Crea dos commits de notas y compara sus mensajes en el historial.
- Modifica una línea y compara diff antes y después de add.
- Crea una rama de práctica y verifica su nombre con git branch --show-current.
Referencias
Artículos relacionados
- Fundamentos: variables, condiciones y bucles
- HTML semántico y estructura de una página
- CSS: modelo de caja, Flexbox y Grid
- JavaScript: funciones, parámetros y alcance
- JavaScript: arrays, objetos y transformación de datos
- DOM y eventos: conectar JavaScript con HTML
- Promesas, async/await y peticiones con fetch
- HTTP y APIs web: peticiones, respuestas y estados
- JSON: formato, lectura y validación de datos
- Node.js y npm: scripts y dependencias de un proyecto
- Depuración y pruebas: encontrar y comprobar errores
- Formatos de color: HEX, RGB y HSL
- Identificadores UUID
- Valores aleatorios en JavaScript
