Grazie a una domanda correlata , ho scoperto che è necessario "estrarre" il ramo remoto come nuovo ramo locale e specificare un nuovo nome di ramo locale.
git checkout -b newlocalbranchname origin/branch-name
Oppure puoi fare:
git checkout -t origin/branch-name
Quest'ultimo creerà un ramo che è anche impostato per tenere traccia del ramo remoto.
Aggiornamento: sono passati 5 anni da quando ho pubblicato questa domanda. Ho imparato molto e git è migliorato da allora. Il mio solito flusso di lavoro è un po 'diverso ora.
Se voglio recuperare i rami remoti, corro semplicemente:
git pull
Ciò recupererà tutti i rami remoti e unirà il ramo corrente. Verrà visualizzato un output simile al seguente:
From github.com:andrewhavens/example-project
dbd07ad..4316d29 master -> origin/master
* [new branch] production -> origin/production
* [new branch] my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
Ora Git sa del mio nuovo my-bugfix-branch
. Per passare a questo ramo, posso semplicemente eseguire:
git checkout my-bugfix-branch
Normalmente, avrei bisogno di creare il ramo prima di poterlo controllare, ma nelle versioni più recenti di git, è abbastanza intelligente sapere che vuoi fare il checkout di una copia locale di questo ramo remoto.
git branch --track XX origin/XX
. Il tuo comando mi dà un errore.