If you have made changes to a submodule in your project but not pushed it to your remote, or you have a commit that simply no longer exists there, you might see one of the following errors displayed during your deployment:
Fetched in submodule path ‘path/to/submodule’, but it did not contain 123456. Direct fetching of that commit failed.
error: Server does not allow request for unadvertised object 123456 Fetched in submodule path 'path/to/submodule', but it did not contain 123456. Direct fetching of that commit failed.
path/to/submodule is the path of the submodule in your repository, and
123456 is the commit reference in question. To resolve this issue, you'll either need to navigate to the submodule directory and run git push to push the commit to the remote, or run git checkout 12345 where 12345 is the commit reference of a commit that exists in the submodule's own repository.
Once these changes have been made, you'll need to push to your main repository before you can retry your deployment.