Over time, a remote will have branches added and deleted. Your local working snapshot can often get littered with stale, now removed branches.
To see what branches your local repo things exists you do something like this:
$ git branch -rv
> origin/1620-upgrade 2e0cc56 Ignore active local.xml from vc
> origin/HEAD -> origin/master
> origin/cas-sso 2351be5 Add gateway logiin and logout support
> origin/giveaways 63daf5a Use cms blocks for banner placements
> origin/master 496c975 Merge affiliate module
> origin/newskin d7220c9 Optimise skin and ui images
> origin/release 496c975 Merge affiliate module
So this is my local Magento git repository, many of the branches here are now defunct and no longer in the remote (i.e. I had previously had used $ git push origin :branch from another host)
To refresh then I need to prune my branches list. The git incantation to do this is
$ git remote prune origin
> Pruning origin
> URL: dev@vcs:git/store.git
* [pruned] origin/1620-upgrade
* [pruned] origin/giveaways
* [pruned] origin/newskin
Looking at the remote branch list again:
$ git branch -rv
> origin/HEAD -> origin/master
> origin/cas-sso 2351be5 Add gateway logiin and logout support
> origin/master 496c975 Merge affiliate module
> origin/release 496c975 Merge affiliate module