O script a seguir fará um loop para todos os branches remotos, criará um com o mesmo nome localmente, rastreará até o remoto e buscará / puxará todos eles.
#!/bin/bash
for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
git fetch --all
git pull --all