Grâce à une question connexe , j'ai découvert que je devais "extraire" la branche distante en tant que 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 créera une branche qui est également configurée pour suivre la branche distante.
Mise à jour: Cela fait 5 ans que j'ai initialement posté cette question. 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. Il 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 mon nouveau my-bugfix-branch
. Pour passer à cette branche, je peux simplement exécuter:
git checkout my-bugfix-branch
Normalement, je devrais créer la branche avant de pouvoir la vérifier, mais dans les nouvelles versions de git, c'est assez intelligent pour savoir que vous souhaitez extraire une copie locale de cette branche distante.
git branch --track XX origin/XX
. Votre commande me donne une erreur.