Free Revisr Plugin Offers Git Management for WordPress

revisr-banner

This month we featured a project called VersionPress that brings version control to WordPress, a concept that has many in the community excited. The VersionPress development team is seeking $30,000 in funding by the end of June in order to get it off the ground. However, they aren’t the only ones working on adding git-based version control to WordPress.

Earlier this month, developer Matt Shaw quietly released Revisr on WordPress.org. Revisr is a plugin that allows developers to synchronize with any Git repository and easily commit, push, pull, and branch changes from within the WordPress admin. It’s different from VersionPress in that it’s designed to integrate with a remote repository, ie. one hosted on GitHub or Bitbucket. Unlike VersionPress, which hasn’t yet met its funding goals, Revisr is free and available now.

The plugin allows you to manage your WordPress website with a git repository and currently includes the following features:

  • Track changes to the files and database of your WordPress installation
  • Optionally use different database versions for each branch
  • Commit and push changes to a remote repository (including Bitbucket and Github)
  • Pull changes down from a remote repository
  • Easily toggle between branches
  • Revert your website files and/or database to an earlier commit
  • Discard any unwanted changes
  • Manage .gitignore to prevent unwanted files/directories from being tracked

“I made Revisr to simplify the development process,” Shaw told the Tavern. “There are currently no plugins on WordPress.org that allow developers or site admins to use all of the main features of Git through the WordPress dashboard, and I made Revisr to do just that,” he said.

“At the same time, I wanted it to be simple enough so it could be used by people who aren’t necessarily interested in Git, but are interested in having backups and being able to quickly revert changes if needed.”

For the sake of user-friendliness, Revisr includes an interface in the admin for committing, reverting, pushing and pulling changes:

revisr-main-dashboard

Revisr makes it easy to view changes in files:

revisr-view-diff

A commit history for the site is available in the WordPress admin:

revisr-commit-history

How to Set Up Revisr

The plugin has three requirements:

  • A WordPress installation in the root folder of a Git repository
  • Git must be installed on the server (most updated versions of cPanel have it preinstalled)
  • PHP exec (safe mode off, can be configured in your php.ini)

If you want to use Revisr with an existing site, you must ensure that the “.git” directory is in the root directory of the WordPress installation. The plugin will then attempt to use the settings stored in Git for pushing to/pulling from any remote repositories, which can be defined on the plugin settings page. Revisr supports git through SSH or HTTPS:

revisr-git-settings-options

If you’re using SSH for authentication, you will need to generate an SSH key and add it to Bitbucket/Github.

The process for setting up a new installation with Revisr is fairly easy:

  • Create the repository on Bitbucket or Github
  • Clone the repository to your computer, add WordPress, and push it to the repository.
  • Upload the entire repository to the server, install WordPress, and add Revisr

Benefits of Using Revisr: Revision Tracking, Branching, and Backups

Matt Shaw believes that Revisr can benefit WordPerss admins in several ways in addition to revision tracking. “Revisr helps the admins see all files that have been changed and the specific changes within those,” he said. “This is an advantage if many files need to be modified and helps to keep issues at a minimum. An added benefit is having backups and being able to quickly spot and revert some website hacks if they occur.”

“Branching also enables site admins to easily test theme changes or new functionality and quickly toggle back and forth between different versions of the site,” Shaw noted. “For example, a site admin could create a new branch to preview layout changes, and switch back to the original branch and old layout if needed.”

Recent updates to the plugin include the option to keep the database separate between branches. This allows users to go back and restore the database from any commit in which the database was also backed up.

Since Revisr tracks both database and file changes, it is suitable for keeping a complete backup of the site. Site admins can easily make full restore points before major changes such as a WordPress core or plugin upgrade.

In the next major update, Shaw plans to give admins more control on what gets committed and reverted, allowing specific files to be reverted without affecting the overall project. He also plans on adding the ability to tag commits with a version number and the ability to view/merge changes between branches. Future versions of the plugin will include the ability to merge changes between branches and the ability to schedule backups of both the website files and database.

The Future of the Revisr Plugin

I asked Shaw about the future of the plugin and if he plans on monetizing it. “The plugin will always be completely free and open source,” he replied. “We are also working on a paid standalone application that can interface with Revisr that will allow teams and web firms to manage multiple websites using Git. However, the full functionality of the plugin will always be free.”

Shaw is working with a team that aims to launch Revisr Pro, a paid application, later this year. Revisr Pro will work with any type of project, but it will also be able to interface with the Revisr plugin via an API to add more features to both the plugin and the standalone application. “It’s designed to simplify managing large amounts of websites (20+) with multiple environments, with file and database tracking with Git, project-level tasks, and team support,” Shaw said. “Revisr Pro is also able to deploy and configure new projects, simplifying the workflow for teams using Git, and allowing more time to be spent focused on the project itself.” They plan to feature straightforward pricing, and won’t charge for additional users or projects.

Shaw is currently the sole developer on the Revisr WordPress plugin project, although he has friends who are helping out with testing and design. His plugin is different from VersionPress in that it isn’t targeted toward bringing version control to the masses. Revisr is geared more toward developers and isn’t supported by a crowd-funding campaign. Shaw is just one man working to create a plugin that helps improve his own workflow. You can download Revisr on WordPress.org and watch for updates as the plugin continues to develop.

12 Comments


  1. This looks really promising! Getting webhosts to enable exec() might be a little different though.

    Report


  2. Nice! I am really interested to see where VersionPress goes, and this looks fantastic too.

    Revisr worked straight out of the box on a site on my old host (WebFaction), which was great :)

    Report


  3. I like the look of this (and VersionPress). Revisr has been out since early June 2014 but this is the first I’ve heard of it. I would encourage folks to test it out – at least then we have some benchmark with which to assess Version[getting all the]Press.

    I’ve asked SiteGround if their hosting supports it…

    Report


    1. I backed VersionPress and didn’t receive even an email confirming my funding. That, combined with their aversion to the GPL, makes me much more interested in Revisr at this point. I’m actually scared that VersionPress is vaporware and that my backing will disappear with nothing to show for it.

      On a happier note, I’m especially interested in Revisr’s upcoming Pro features; I’d love to be able to augment iThemes (or ManageWP, etc) with this tool and manage multiple client sites with one interface.

      Report


      1. No email confirmation? That concerns me. However, VersionPress did adopt the GPL after all. It will be interesting to see where the project goes.

        Report


      2. Hi Jason, sorry if you find the missing custom receipt experience confusing – we will be sending them e.g. for tax purposes after the campaign finishes as we don’t know at the moment if there will be any receipt to issue or not :) In the meantime, you have a PayPal confirmation, and one of the primary reasons we chose PayPal is that they have first-class buyer’s protection. VersionPress is certainly not vaporware or anything like that and we would be risking a lot if we tried to run something dodgy over PayPal. We are normal people behind it, responding to all the emails we get etc. Should you have any concerns, please get in touch, I’ll be happy to reply.

        Report


  4. I supported versionpress and I didn’t get any confirmation email from versionpress either. Just the usual automated paypal email message for payment.

    I’m also very concerned because of a few details that I’ve noticed about the way they are managing the project. Not yet ready to jump to conclusions aka hanlon’s razor.

    It is an exciting concept but it needs the right person or team to implement it.

    The issue with revisr is there is zero documentation! and no info on the plugin developer:
    http://profiles.wordpress.org/expandedfronts/

    Report


  5. The makers of Stream should hire this guy, join the two projects, and dominate the world!!!

    Report


    1. Hey Phil, thanks for the mention of our Stream project!

      Revisr sure does look cool :)

      Report

Comments are closed.