You have to run the following command for recursive submodule pull to work properly:
# one-time init git submodule update --recursive --init # subsequent pulls git submodule update --recursive
# Add submodule git submodule add remote_repo_url # Update Submodule git submodule update --remote path_name # Push git push --recurse-submodules=on-demand # fine-grained push to named branch git push origin HEAD:<name-of-remote-branch>
# Move Submodule git mv old/submod new/submod # Remove submodule git submodule deinit path_name
Push submodule changes from parent repo
git push --recurse-submodules=on-demand