I often come across this issue because I try to keep my checkouts lean. When switching branches the following helps the local git repository identify the remote branches after they have been explicitly ignored during the cloning.
git remote set-branches --add origin [remote-branch]
git fetch origin [remote-branch]:[local-branch]
as found from: