fetch vs pull
Fetch descarga cambios de forma segura sin tocar tu rama. Pull descarga y hace merge de inmediato. Ante la duda, haz fetch primero para poder revisar qué cambió antes de integrar.
fetch
Descarga todos los nuevos commits, ramas y tags del remoto a tu repo local, pero NO cambia tu rama de trabajo ni tus archivos. Actualiza tus referencias de seguimiento remoto (origin/main) para que puedas inspeccionar los cambios antes de integrarlos.
"git fetch origin # downloads new commits but your branch stays exactly as it was"
pull
Un atajo para fetch + merge (o fetch + rebase). Descarga los cambios Y los integra de inmediato en tu rama actual. Es conveniente pero puede sorprenderte con conflictos de merge.
"git pull origin main # equivalent to: git fetch origin && git merge origin/main"
Tip para entrevistas
Una buena respuesta menciona que git pull es realmente fetch + merge, y que fetch es más seguro en ramas compartidas porque permite inspeccionar los cambios antes de integrarlos. Esto muestra que entiendes lo que pasa internamente.
Otras comparativas
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis