Cuando trabajas en equipo que tus compañeros estarán subiendo código constantemente al servidor remoto (igual que tú).
Para mantenerte tu repositorio local actualizado, necesitas traer esos cambios a tu ordenador.
Para hacer esto, Git nos ofrece dos comandos:
- git fetch. La forma segura de mirar
- git pull: La forma rápida de integrar
Los dos tienen diferencias importantes en la forma de funcoinar.
| Característica | git fetch | git pull |
|---|---|---|
| Descarga datos del servidor | Sí | Sí |
Actualiza el espejo origin/main | Sí | Sí |
Modifica tu rama main local | NO (Seguro) | Sí (Puede causar conflictos) |
| Nivel de Riesgo | Nulo | Medio |
Vamos a ver cada uno de ellos en profundidad 👇.
Git Fetch: El modo seguro
Cuando ejecutas git fetch origin, Git se conecta al servidor y se descarga toda la información nueva (commits, ramas, archivos) que han subido tus compañeros y que tú no tienes.
Usar fetch te permite “mirar antes de saltar”. No modifica ni un solo archivo de tu Working Directory. Tu código actual se queda exactamente como estaba.
Las ramas de seguimiento
Si no toca tu código, ¿dónde guarda Git esa información que se ha bajado? En unas ramas especiales ocultas.
Tú tienes tu rama local main. Pero Git tiene un “espejo” interno llamado origin/main.
main: Es tu rama local. Tú la controlas.origin/main: Es la copia de lo que había en el servidor la última vez que te conectaste. Es de solo lectura.
Cuando haces git fetch, Git actualiza origin/main moviendo su puntero hasta el último commit del servidor, pero deja tu main intacta.
Inspeccionar e integrar los cambios
Ahora que tienes los datos descargados, puedes inspeccionarlos de forma segura antes de decidir si quieres mezclarlos con tu código:
- Ver el historial nuevo:
git log --oneline main..origin/main(Muestra los commits que tienen ellos y tú no). - Ver los cambios de código:
git diff main origin/main(Muestra las líneas exactas que cambiarán).
Si después de inspeccionar decides que los cambios son seguros y quieres tenerlos en tu código, tienes que hacer la segunda mitad del trabajo manualmente.
Estando en tu rama main, ejecutas:
git merge origin/main
Esto fusionará la rama de seguimiento (lo que bajaste con fetch) en tu rama local.
Git Pull: La vía rápida y agresiva
El comando git pull que hace exactamente el proceso anterior, pero todo de golpe y sin preguntarte.
La fórmula de este comando es:
git pull=git fetch+git merge
Cuando ejecutas git pull, le estás diciendo a Git: “Bájate lo que haya en el servidor y mézclalo con mi código AHORA MISMO”.
Como git pull implica un merge automático que modifica tus archivos, pueden ocurrir conflictos.
Si tú y tu compañero habéis tocado la misma línea, el pull se pausará y te tocará resolver el conflicto a mano en tu editor.
