My usual workflow when working with git, is something like this:
You can also use this if you want to create a new local branch to track a remote branch:
git checkout --track -b [branch_name] --track origin[or other remote name]/[remote_branch_name]
or even better:
git checkout -t origin/branch_name