Gracias a una pregunta relacionada , descubrí que necesito "pagar" la sucursal remota como una nueva sucursal local y especificar un nuevo nombre de sucursal local.
git checkout -b newlocalbranchname origin/branch-name
O puedes hacer:
git checkout -t origin/branch-name
Este último creará una rama que también está configurada para rastrear la rama remota.
Actualización: Han pasado 5 años desde que originalmente publiqué esta pregunta. He aprendido mucho y git ha mejorado desde entonces. Mi flujo de trabajo habitual es un poco diferente ahora.
Si quiero obtener las ramas remotas, simplemente ejecuto:
git pull
Esto buscará todas las ramas remotas y fusionará la rama actual. Mostrará una salida que se ve así:
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.
Ahora Git sabe sobre mi nuevo my-bugfix-branch
. Para cambiar a esta rama, simplemente puedo ejecutar:
git checkout my-bugfix-branch
Normalmente, necesitaría crear la rama antes de poder verificarlo, pero en las versiones más nuevas de git, es lo suficientemente inteligente como para saber que desea retirar una copia local de esta rama remota.
git branch --track XX origin/XX
. Tu comando me da un error.