Back to documentation
Working With Projects

Rolling Back Changes

Undo a change or restore a previous version of your product safely, with code and data considered separately.

Sometimes a change looks right in description and wrong in reality. Rollbacks let you return your product to a previous version. Because every build and change request is a commit in your GitHub repository, and every deployment is recorded by Render, there is always a well-defined earlier state to return to.

Three ways to go back

  1. Roll back through Idea to Life. Open your project's history, pick the version you want, and roll back. The platform reverts your repository to that state with a new revert commit — history is never erased, so the change you are undoing remains visible and can be re-applied later — and deploys it. This is the recommended path because it keeps the platform's understanding of your project in sync with reality.
  1. Roll back a deploy in Render. In the Render dashboard, your service's deploy history has a "Rollback" action that re-deploys a previous build immediately. This is the fastest option in an emergency (the site is broken right now) but it only changes what is running, not what is in your repository — so follow up with a proper code rollback, or the next deploy will resurrect the problem.
  1. Revert with git. You or a developer can use ordinary git commands in your repository; a push to the main branch triggers a deploy like any other commit. Full control, standard tooling.

The honest caveat: data does not roll back with code

Rolling back code does not undo changes to your data or its structure. Two situations deserve care:

  • If the change you are reverting added a database migration (a new table or field), rolling back the code usually leaves the schema addition in place harmlessly. The platform handles the common cases; the change description will note anything unusual.
  • Data created while the new version was live (bookings made, users registered) is preserved through a rollback. Rollbacks change your product's behavior, not its memory.

If a change actively corrupted data — rare, but possible with aggressive migration requests — restoring it is a backup operation, not a rollback. This is why the Databases guide recommends a manual backup before risky data-model changes on products with real customers.

Partial undo

You rarely need a full rollback. If yesterday's change had three parts and one is wrong, a change request — "undo the pricing table change from yesterday, keep everything else" — reverts precisely that, as a normal estimated change.

Costs

A Render deploy-history rollback consumes no credits. Platform rollbacks and partial undos are processed like small change requests, with the estimate shown before you approve, as always.

Habit worth forming: after approving any significant change, look at the live product promptly. The sooner a problem is noticed, the cleaner every rollback option is.