Saltar al contenido
GitTree
guías de git4 minutos de lectura

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

Actualizado
  • 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/search

Esto 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 main

La 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/search

Ejecute 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 true

El 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-upstream

Ningú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
Los dos significados de aguas arriba
Rama aguas arribaRemoto ascendente
que esLa rama remota rastrea una rama localUn remoto llamado upstream, generalmente el original de una bifurcación
Establecer congit push -u o git branch -ugit remote add upstream <url>
Consulte congit branch -vvgit remote -v

Cómo configurar un upstream en GitTree

  1. 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.

  2. Elige el remoto

    Elija origin y presione Enviar al origen. La rama se crea allí y la rastrea a partir de ese momento.

  3. 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.

El submenú Upstream en una rama en GitTree, con Set Upstream… marcado.
El submenú Upstream en una rama en GitTree, con Set Upstream… marcado.GitTree interfaz con un repositorio de demostración.

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.