Mecanismos de actualización en Git¶
Una de las tareas más importantes en Git es la confirmación de cambios en un repositorio, lo que se conoce como commit.
Esta operación registra los cambios realizados y crea un nuevo estado del proyecto que pasa a formar parte del historial del repositorio.
Flujo básico de actualización¶
- El desarrollador realiza cambios en el código.
- Los archivos modificados se añaden al área de preparación (staging area) con
git add. - Los cambios se confirman con
git commit, quedando registrados en el historial.
Una vez confirmados, es posible acceder al estado exacto del proyecto en cualquier commit o comparar los cambios entre distintas confirmaciones.
Comando git add¶
El comando git add prepara los archivos modificados para la siguiente confirmación.
No guarda los cambios definitivamente, solo los marca para incluirlos en el próximo commit.
-
Flujo de trabajo general:
editar → preparar → confirmar -
Comandos básicos:
git add <archivo> git add <carpeta> git add -p -
Ejemplo práctico:
Añade el archivo index.html al área de preparación.git add index.html
Puedes usar git status para ver qué archivos están preparados o pendientes de confirmación.
Comando git commit¶
El comando git commit crea una instantánea permanente de los cambios preparados.
Cada commit incluye un mensaje que explica qué se ha modificado.
Ejemplos:¶
git commit
git commit -m "Actualiza el formulario de contacto"
git commit -am "Corrige errores en el login"
git commit --amend
Comando git merge¶
El comando git merge se usa para fusionar los cambios de una rama en otra.
Esto permite integrar el trabajo de distintas líneas de desarrollo.
Sintaxis:¶
git merge nombre-de-la-rama
Ejemplo:¶
Si estás en la rama main y quieres integrar los cambios de dev:
git merge dev
Antes de hacer un merge, Git exige que todos los cambios actuales estén confirmados.
Comandos útiles relacionados con ramas¶
Crear una nueva rama y confirmar cambios:
git checkout -b nueva-rama
git add .
git commit -m "Primer commit en la nueva rama"
Guardar cambios temporalmente con stash:
git stash
git merge nueva-rama
git stash pop
Abandonar todos los cambios pendientes:
git reset --hard
Comando git rebase¶
El comando git rebase permite mover o reubicar commits a una nueva base.
Sirve para mantener un historial más limpio y lineal.
Ejemplo:¶
git rebase master
master, como si hubieran partido desde su último punto.
El rebase es especialmente útil para integrar ramas antes de fusionarlas y evitar merges innecesarios.
Conflictos de merge¶
Un conflicto ocurre cuando dos ramas modifican la misma línea de un archivo de forma distinta.
Git no puede decidir qué versión conservar, por lo que detiene la fusión y muestra un mensaje de error.
Ejemplo de conflicto:¶
<<<<<<< HEAD
Address: 808 South Street
=======
Address: 505 North Street
>>>>>>> updated_address
- Lo que está entre
<<<<<<< HEADy=======pertenece a tu rama actual. - Lo que está entre
=======y>>>>>>>pertenece a la rama que intentas fusionar.
Para resolverlo:¶
- Edita el archivo y elige la versión correcta.
- Guarda los cambios.
- Confirma la resolución con:
git add . git commit -m "Resuelve conflicto en archivo"
Idea clave¶
El flujo básico de trabajo en Git sigue siempre la misma secuencia:
editar → preparar (add) → confirmar (commit) → fusionar (merge o rebase)
Estos mecanismos permiten mantener el control completo sobre el proyecto, su historial y la colaboración entre desarrolladores.