Direct fetching of commit failed

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 the following error displayed during your deployment:

Fetched in submodule path ‘path/to/submodule’, but it did not contain 123456. 
Direct fetching of that commit failed.

Where 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.