VersionPress is all about reverting changes that you made to your WordPress website. The Undo and Rollback features are the two essential features that will help you in managing your website.
With the The Undo feature you will be able to revert some changes while keeping other from the same chain of action intact. If you edited a post’s text content and then changed the tags in that page, you will be able to revert the content change without going back to the old tags.
The Rollback feature on the other hand enables you to takes your site to a previous state. If you roll back to a state from yesterday, all of the changes you made since then will be ignored. The very useful thing here is that VersionPress will not just remove the changes you have made since yesterday but instead keep them and have the ability to recover them. This means that a rollback can actually be reverted (by clicking the Undo button corresponding to the rollback), which is something that we haven’t seen from any other plugin in the past.
However, being logically built, VersionPress can still get confused by conflicts and deny an Undo when changes interfere with each other. If you try non sequential changes, like editing a post that has already been deleted the plugin will not be able resolve the conflict and will just inform you of the situation and not do the change. The developers are already thinking of a way of dealing with this issue and a conflict resolution UI might come with a future update.
Logical conflict in relations between two entities can occur when your try to change one entity while it is still connected to an entity in another state. If you try to restore a comment from an already deleted post VersionPress will check the connection between the two entities and find out one of them is compromised. To resolve this you will need to first restore the post and then the connected entity – the comment.
Тhe two other times your changes will not be undone will be when you have uncommitted changes in your files or when you have merge commits from two or more different environments like a team environment or staging. In the second case change cannot be undone since there is no logical revert that could be applied to combined changes between the different environments.
In all other cases, the Undo and Rollback features will work as intended and provide valuable help in your website development.