Original answer 2010:
If all of those directories are separate git repo, you should reference them as submodules.
That means your "origin" would be that remote repo 'plugins
' which only contains references to subrepos 'cms
', 'admin
', 'chart
'.
A git pull
followed by a git submodule update
would achieve what your are looking for.
Update January 2016:
With Git 2.8 (Q1 2016), you will be able to fetch submodules in parallel (!) with git fetch --recurse-submodules -j2
.
See "How to speed up / parallelize downloads of git submodules using git clone --recursive?"