Frequentemente eu preciso fazer isto durante a configuração ou sincronização de varias maquinas, e eu percebo que esqueço dos comandos o tempo inteiro. Então, digamos que você tenha um branch em seu remote, e você quer traze-lo para o seu repositório local, assim como este:

A visualização das informações remotas deve ser algo parecido com isto:
$ git remote show origin
* remote origin
URL: *************
Remote branch merged with 'git pull'
while on branch master
master
Tracked remote branches
haml master
Felizmente, a sintaxe do comando para isto é bastante simples:
git checkout --track -b <local branch> <remote>/<tracked branch>
Então no meu caso, eu utilizei o seguinte comando:
git checkout --track -b haml origin/haml
Você também pode utilizar uma versão mais simples:
git checkout -t origin/haml