git-descargar-cambios-con-fetch-pull

Bajar cambios del servidor con git fetch y git pull

  • 5 min

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ísticagit fetchgit pull
Descarga datos del servidor
Actualiza el espejo origin/main
Modifica tu rama main localNO (Seguro) (Puede causar conflictos)
Nivel de RiesgoNuloMedio

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
Copied!

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.