remote remota rama example cambiar git remote-branch

remota - git push example



Git: no se puede ver una nueva rama remota (6)

Un colega empujó una nueva rama remota a origen / dev / página de inicio y no puedo verla cuando ejecuto:

$ git branch -r

Aún veo ramas remotas preexistentes.

Supongo que esto se debe a que mis refs remotos locales no están actualizados, por lo tanto, cuando ejecuté un git pull, no pasó nada, ya que git pull solo activa la rama de trabajo actual ¿correcto? A diferencia de git push que empuja todas las ramas que tienen cambios en la rama remota correspondiente?


A veces tengo el mismo problema.

La respuesta más simple es:

git fetch origin <branch_name>


En primer lugar, compruebe que la rama ha sido realmente empujada de forma remota, utilizando el comando git ls-remote origin . Si la nueva rama aparece en el resultado, intente y proporcione el comando git fetch : debe descargar las referencias de bifurcación desde el repositorio remoto.

Si su rama remota aún no aparece, verifique dos veces (en la salida ls-remote ) cuál es el nombre de la rama en el control remoto y, específicamente, si comienza con refs/heads/ . Esto se debe a que, de forma predeterminada, el valor de remote.<name>.fetch es:

+refs/heads/*:refs/remotes/origin/*

de modo que solo las referencias remotas cuyo nombre comience con refs/heads/ se correlacionarán localmente como referencias de seguimiento remoto en refs/remotes/origin/ (es decir, se convertirán en rastreos de rastreo remoto)


Hacer una actualización remota de git también actualizará la lista de sucursales disponibles desde el repositorio remoto.

Si está utilizando TortoiseGit, desde la versión 1.8.3.0, puede hacer "Git -> Sync" y habrá un botón de "Actualización remota" en la esquina inferior izquierda de la ventana que aparece. Haga clic en eso. Entonces debería poder hacer "Git -> Cambiar / Finalizar" y hacer que la nueva rama remota aparezca en el menú desplegable de sucursales que puede seleccionar.


Lo que finalmente funcionó para mí fue agregar el nombre del repositorio remoto al comando git fetch , así:

git fetch core

Ahora puedes ver a todos ellos así:

git branch --all


Suena trivial, pero mi problema era que no estaba en el proyecto correcto. Asegúrese de estar en el proyecto en el que espera estar; de lo contrario, no podrá tirar de las ramas correctas.


Verificar si .git/config contiene

[remote "origin"] url = … fetch = +refs/heads/master:refs/remotes/origin/master

Si es así, cámbialo para decir

[remote "origin"] url = … fetch = +refs/heads/*:refs/remotes/origin/*

Entonces deberías poder usarlo:

$ git fetch remote: Counting objects: … remote: Compressing objects: .. Unpacking objects: … remote: … From … * [new branch] branchname -> origin/branchname $ git checkout branchname Branch branchname set up to track remote branch branchname from origin. Switched to a new branch ''branchname''