# Versioning & Rollbacks

Marfeel versions all production deploys and lists them in the Activity Log panel under the environment tab in GitHub. You can browse any deploy you’ve ever made and preview it from a unique URL:

Production Deploy Checks

Sometimes you may want to revert a change deployed in production — reverting a commit means to create a new commit to 'undo' the change. The original commit also remains in the repository's history.

To revert a specific commit, you'll need the hash of the commit. Run git log to get the hash of the commit as show below:

$ git log --pretty=oneline
4c08060b1167609bbe9358330973532f46b4709d Added awesome changes
146282471db2ae34a3967c652406323debdbb3a0 Initial commit

Run the the following Git command to undo/revert a given commit, using the commit hash that you got from the git log command:

git revert <commit-hash>

TIP

When you revert multiple commits, it's best to revert in order from newest to oldest. If you revert commits in a different order, you may see merge conflicts

Keep in mind that all commits, including reverts, must be made to a non-protected branch and submited via a pull request as usual before it can be merged to master. So reverted code can actually be tested before is deployed back in production.