Cómo configurar una rama ascendente en Git
Un upstream es la rama remota a la que su rama local envía y extrae. A continuación se explica cómo configurar, verificar, cambiar y eliminar uno, cómo corregir el error "sin rama ascendente" y qué significa upstream en una bifurcación.
Escrito por Kodmora
La casa de software detrás de GitTree
- Ramas
- Mandos a distancia y push
En esta página
Para impulsar una nueva rama y configurar su flujo ascendente, ejecute `git push -u origin my-branch`. Si la rama ya existe en el remoto, ejecute git branch -u origin/my-branch en su lugar. Después de eso, git push y git pull saben adónde ir. -u es la abreviatura de --set-upstream.
¿Qué es una rama ascendente en Git?
La upstream, también llamada rama de seguimiento, es la rama remota vinculada a la local. Git usa ese enlace para tres cosas: dónde van git pull y git push sin argumentos, con qué cuentan los adelante y atrás en git status en comparación y qué significa la abreviatura @{u}.
¿Cómo configuro el upstream para una nueva rama?
git switch -c feature/search
git push -u origin feature/searchEsto crea la rama en el remoto y vincula los dos. Solo necesitas -u en el primer intento. La guía para crear y cambiar ramas cubre el paso anterior a este.
¿Cómo configuro el upstream para una rama existente?
Cuando la rama remota ya exista, vincúlala sin presionar:
# the branch you are on
git branch -u origin/feature/search
# any other branch
git branch -u origin/main mainLa forma larga es git branch --set-upstream-to=origin/main. Si Git dice que la rama remota no existe, ejecute git fetch primero.
¿Cómo soluciono "La rama actual no tiene una rama ascendente"?
Git imprime esto cuando ejecutas git push en una rama que nunca ha sido enviada:
fatal: The current branch feature/search has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin feature/searchEjecute el comando que sugiere. Para dejar de ver el error, haga que Git haga esto cada vez que presione por primera vez (Git 2.37 o posterior):
git config --global push.autoSetupRemote trueEl mensaje relacionado "No hay información de seguimiento para la rama actual" proviene de git pull. La solución es la misma: git branch -u origin/my-branch.
¿Cómo veo lo que sigue una rama?
# every branch, with its upstream and ahead/behind
git branch -vv
# only the current branch
git rev-parse --abbrev-ref @{u}
# commits you have not pushed
git log @{u}..
# commits you have not pulled
git log ..@{u}¿Cómo cambio o elimino un upstream?
# point the branch somewhere else
git branch -u origin/develop
# stop tracking anything
git branch --unset-upstreamNingún comando cambia ninguna confirmación. Solo editan la configuración de la rama en .git/config.
¿Qué significa aguas arriba en una bifurcación?
La palabra tiene un segundo significado. En una bifurcación, upstream es por convención el nombre de un remoto: el proyecto original del que bifurcaste, mientras que origin es tu propia copia. De eso se trata “git remoto add upstream”:
git remote add upstream https://github.com/original/project.git
git fetch upstream
git switch main
git merge upstream/main
git push origin main| Rama aguas arriba | Remoto ascendente | |
|---|---|---|
| que es | La rama remota rastrea una rama local | Un remoto llamado upstream, generalmente el original de una bifurcación |
| Establecer con | git push -u o git branch -u | git remote add upstream <url> |
| Consulte con | git branch -vv | git remote -v |
Cómo configurar un upstream en GitTree
Publicar una nueva rama
Con la rama retirada, presione Enviar. GitTree dice que la rama aún no rastrea una rama remota y solicita el Remoto.
Elige el remoto
Elija
originy presione Enviar al origen. La rama se crea allí y la rastrea a partir de ese momento.Cambiar lo que rastrea
Haga clic derecho en la etiqueta de la rama y abra Upstream, luego Set Upstream…. Elija la rama Upstream y presione Seguir, o elija Desarmar Upstream.

Consulte establecer seguimiento y publicar una rama para obtener más detalles y la lección remota y ascendente para practicar.
Preguntas frecuentes
¿Qué hace git push -u?
Envía la rama y registra la rama remota como ascendente, por lo que más adelante git push y git pull no necesitan argumentos.
¿Necesito -u en cada pulsación?
No, sólo una vez por rama. La configuración permanece en .git/config hasta que la cambies.
¿Cuál es la diferencia entre origen y upstream?
origin es el nombre predeterminado para el remoto desde el que clonaste. upstream es la rama que rastrea una rama local o, por convención, un segundo remoto que apunta al proyecto que bifurcaste.
¿Qué significa @{u}?
Es una abreviatura de la rama actual ascendente, por lo que git diff @{u} compara su rama con la rama remota que rastrea. @{upstream} es la forma larga.
¿Por qué mi rama envía a la rama remota incorrecta?
Sus puntos ascendentes allí, a menudo después de un cambio de nombre. Ejecute git branch -vv para verlo y luego git branch -u origin/correct-name para solucionarlo.
Fuentes
Las afirmaciones sobre otros productos se compararon con sus páginas oficiales el 7 de noviembre de 2026. Los precios y las características cambian; Las páginas de los proveedores son la fuente de la verdad.
