so basically the init resets the submodule to the last "committed" version in the parent while the pull updates the submodule to it's origins latest head. I think both is useful if you want to go back to the latest committed version though while testing against the HEAD?