Merci à une question liée, j'ai découvert que je dois "checkout" la branche distante comme une nouvelle branche locale, et spécifier un nouveau nom de branche locale.
git checkout -b newlocalbranchname origin/branch-name
Ou vous pouvez faire:
git checkout -t origin/branch-name
Ce dernier va créer une branche qui suit également la branche distante.
Mise à jour: Cela fait 5 ans depuis que j'ai posté cette question initialement. J'ai beaucoup appris et git s'est amélioré depuis lors. Mon flux de travail habituel est un peu différent maintenant.
Si je veux récupérer les branches distantes, je lance simplement:
git pull
Cela va récupérer toutes les branches distantes et fusionner la branche actuelle. Cela affichera une sortie qui ressemble à ceci:
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.
Maintenant git connaît ma nouvelle my-bugfix-branch
. Pour passer à cette branche, je peux simplement exécuter:
git checkout my-bugfix-branch
Normalement, j'aurais besoin de créer la branche avant de pouvoir la vérifier, mais dans les nouvelles versions de git, il est assez intelligent pour savoir que vous voulez checkout une copie locale de cette branche distante.