Fatal: bad object

When running a deployment following changes to your project's repository, you may come across the following error:

fatal: bad object 123456

Where 123456 is a commit reference. This occurs because either the last commit deployed no longer exists in your repository (in particular if you've moved providers and started again from scratch), or that you have a commit checked out in a submodule that doesn't exist in the remote.

Previously deployed commit not existing in your repository

If the issue is simply that your previously deployed commit no longer exists in the repository, you just need click the (change) link next to the start commit before running your deployment, then either choose a commit that exists in the list, or the option at the bottom to DeployHQ the entire repository. This will allow DeployHQ to calculate the changes for deployment correctly and for the deployment to start.

Commit not existing in your submodule's repository

If it's the case that the commit in question doesn't exist in a submodule's remote repository, you'll either need to navigate to the submodule 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.