Repaso
English

¿Cuál es la diferencia entre git fetch y git pull?

Opciones

  1. No hay diferencia, hacen lo mismo
  2. fetch solo descarga; pull es fetch más merge (Opción correcta)
  3. pull sube tus cambios; fetch los elimina
  4. fetch solo funciona con tags, no con ramas

Respuesta

fetch descarga los cambios remotos sin cambiar tus archivos; pull = fetch + merge en tu rama actual

Por qué

git fetch actualiza lo que sabes del remoto (commits y ramas nuevas) pero no toca tus archivos de trabajo. Es seguro: puedes inspeccionar primero (git log origin/main).

git pull hace fetch y luego fusiona (o hace rebase, con --rebase) esos cambios en tu rama actual de inmediato. Puede causar conflictos que debes resolver.

Mucha gente usa git pull --rebase para mantener un historial lineal.

Recuerda

pull = fetch + merge.

Términos clave

Practica esta pregunta en Repaso