Manually running "git submodule update" after every single command is terrible.
Having the submodule in a modified state with "new commits", with no differentiation about whether what changed is the HEAD of the submodule or the parent ptr is also horrible. Did you forget to commit the submodule change? Or did you forget to "git submodule update"? Who knows??
Git clone of a repo that has submodules shows a clean status! It should say: "missing submodules" or ideally, do a "git submodule update --init" by default, but instead you're left wondering why build doesn't work.