If the project was cloned previously and some modules are missing, then it might be necessary to initialize the missing submodules:
```
git submodule update --init --recursive
```
If a submodule was re-synchronized to point to another commit sub-module, it will be necessary to update those modules using:
```
git pull --recurse-submodules
```
Please, notice that if you are working in a sub-module development you need to add the directory as a commit to the new project, if you wish others will be able to update the submodule within the main project. Otherwise, the people pulling the main repository with sub-modules will not get the latest updates.
If you are asked for a password, this is because you did not add your local computer account public ssh key to your Gitlab account.
Check the following [instructions](https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key) to generate your key.
Then, paste the key into your GitLab account (top-right icon of Gitlab site), go to "settings", and access the "ssh keys" in the left menu.