Parece que o problema que você está tentando resolver não é o problema que está encontrando. O Git não permite que você trabalhe localmente com ramificações remotas (o que origin/remote-branch-long-name
você vê é apenas uma ramificação de rastreamento; você não pode trabalhar diretamente com ela) e o Magit está orientando você em direção ao fluxo de trabalho pretendido.
Como você deseja trabalhar origin/remote-branch-long-name
, provavelmente deve executar magit-branch-and-checkout
( b
c
). Selecione origin/remote-branch-long-name
e ele solicitará um nome de filial local e o padrão será "nome remoto da filial remota". Isso fornece a ramificação local necessária para fazer suas alterações. Quando terminar as alterações e pressionar origin/remote-branch-long-name
, atualizará o ramo de rastreamento remoto.
Você pode ter ramificações locais com uma barra, mas usar um nome remoto em um nome de ramificação local pode tornar as coisas muito confusas. O Git se lembra de qual remota uma ramificação local foi retirada, para que você não precise rastreá-la.
Para uma explicação mais completa do que a minha resposta aqui (!), Você encontra esta página como uma boa visão geral sobre controles remotos.
git checkout foo
, efoo
não for um ramo, masorigin/foo
for, o git criará um novo ramofoo
e o configurará para rastrearorigin/foo
. Então o git ensina você a pensar "Eu apenas faço checkoutfoo
e o git faz todo o necessário". Mas isso não funciona com o magit; corrermagit-branch-and-checkout
é o caminho a percorrer.