I've written my answer some time ago and last downvote motivated me to update it with my later experience :-)

Edit: previous version of this answer created branches with 'origin' prefix, all pointing to master branch, instead of actual branches, and having problems with variable expansions. This has been fixed as per comments.

You can fetch one branch from all remotes like this:

git fetch --all

Fetch updates local copies of remote branches so this is always safe for your local branches BUT that means:

This will not create local branches tracking remote branches, you have to do this manually

If you want to update your local branches you still need to pull every branch.

So if you will probably want to run:

git pull --all

However, this can be still insufficient. It will work only for your local branches which track remote branches. To track all remote branches execute this oneliner BEFOREgit pull --all: