Por Anónimo (no verificado) , 29 Abril 2026

Sinopsis

git pull [--rebase] [--ff-only] [<remote> [<branch>]]

Descripción

El comando git pull es atajo para git fetch seguido de un paso de integración (merge por defecto, rebase opcionalmente). Actualiza tu branch actual para incorporar cambios de upstream. Muchos equipos prefieren configurar pull.rebase = true o usar git pull --rebase para mantener el historial lineal.

Si tu branch y el upstream han divergido, git pull puede producir un merge commit. Con --ff-only, el pull fallará en lugar de crear un merge: útil cuando quieres asegurarte de que tu branch local solo está atrás, no divergente.

En el uso diario, git pull se integra con alias de shell.

Entender cómo git pull interactúa con el modelo de datos de Git rinde dividendos.

Opciones comunes

OpciónDescripción
--rebaseRebasea commits locales sobre los cambios descargados.
--ff-onlySolo fast-forward; aborta si se necesitaría un merge.
--no-ffSiempre crea un merge commit.
--allHace fetch desde todos los remotos antes de integrar.
--autostashStashea cambios locales antes de pull y los reaplica después.
--prunePoda branches de seguimiento remoto obsoletos como parte del fetch.

Ejemplos

git pull
# Predeterminado: fetch y merge desde upstream configurado

git pull --rebase origin main
# Rebasea commits locales sobre el último origin/main

git pull --ff-only
# Rechaza crear un merge commit

git config --global pull.rebase true
# Hace que rebase sea el predeterminado para cada pull

Errores comunes

Hacer pull con cambios no commiteados puede hacer que Git rechace el merge. O bien commitea, stashea, o usa --autostash. Hacer pull en un branch que ha divergido a menudo produce merge commits inesperados. Usa --ff-only como red de seguridad o rebasea explícitamente.

Comandos relacionados

git fetch, git merge, git rebase, git push