Is there a way that my remote branches can be refreshed in source tree? For example, if there is a branch that developer A pushed up to origin, and then deleted from origin, then that branch still displays on my view in source tree under remotes. The strange thing is that I can still check out this remote branch, even though it was deleted and is no longer visable via stash.
By default Git does the safe thing and never deletes a remote branch unless explictly asked (which is a good thing IMHO). What you really want is to 'prune' your remote: