Parece que el problema que está tratando de resolver no es el problema que está encontrando. Git no le permite trabajar localmente con sucursales remotas (lo origin/remote-branch-long-name
que ve es solo una rama de seguimiento; no puede trabajar con ella directamente) y Magit lo está guiando hacia el flujo de trabajo previsto.
Dado que desea trabajar con origin/remote-branch-long-name
usted, probablemente debería ejecutar magit-branch-and-checkout
( b
c
). Seleccione origin/remote-branch-long-name
y le solicitará el nombre de una sucursal local y el valor predeterminado será "nombre-sucursal-remota-larga". Esto le da a la sucursal local la necesidad de hacer sus cambios. Cuando haya terminado con sus cambios y presione para origin/remote-branch-long-name
actualizar la rama de seguimiento remoto.
Puede tener sucursales locales con una barra oblicua, pero usar un nombre remoto en el nombre de una sucursal local puede hacer que las cosas sean muy confusas. Git recuerda desde qué remoto se desprotegió una sucursal local, por lo que no necesita rastrearla usted mismo.
Para obtener una explicación más completa que mi respuesta aquí (!), Encontrará esta página como una buena descripción general de los controles remotos.
git checkout foo
, yfoo
no es una rama, pero loorigin/foo
es, git creará una nueva ramafoo
y la configurará para rastrearorigin/foo
. Entonces git te enseña a pensar "Acabo de pagarfoo
, y git hace todo lo necesario". Pero esto no funciona con magit; corrermagit-branch-and-checkout
es el camino a seguir.