All you have to do is to run
git submodule update
after your checkout
operation in the superproject.
Your subprojects (submodules) will then be checked out to the commit they were at when your superproject commit was created (they one that you have just check out with e.g. git checkout a1bc2def3
).