VersionPress: True Version Control Comes to WordPress

Chris Burgess

While many WordPress developers use version control as part of their workflow (for example, Mark Jaquith’s WordPress Skeleton is extremely popular), there is still a gap when it comes to easy collaboration and version control for an entire WordPress project. Particularly in relation to database changes. Plugins such as WP Migrate DB Pro from Delicious Brains and the awesome WP-CLI command line tools go a long way in filling that gap, but the challenge of complete WordPress version control for the masses still remains unanswered.

That was until an innovative project called VersionPress came along. VersionPress is a WordPress Plugin that will keep track of every change, completely version controlled using Git.

Currently under development, the VersionPress plugin builds upon Git’s version control system. VersionPress will be able to store an entire WordPress website, database and all, completely version controlled in Git. The plugin is being developed by Borek Bernard (Founder) and Jan Voráček and, once launched, will be licensed under the GNU General Public License.

According to VersionPress.net:

VersionPress is a version control plugin for WordPress. It keeps the whole site, both files and the database, in Git enabling things like site-wide reverts, safe updates, easy staging.

The core features of VersionPress include:

  1. Creation of a backup after every logical change
  2. Restoration of any historical version of the project from the archive
  3. The ability to make changes selectively, without affecting new changes
  4. The ability to enable multiple users to work simultaneously on the same project
  5. A testing environment where there is a two-way sync between the testing environment and the live site
  6. A space-efficient repository that integrates effectively with third party tools

I was fortunate enough to watch a demonstration of VersionPress by Borek Bernard. My first impression: VersionPress will be a ground-breaking plugin for all developers.

VersionPress Change History

In addition to the demo, I had the opportunity to ask Borek a few questions about his project.

Chris: Where did the idea for VersionPress come from?

Borek: As a software developer, I use version control systems for just about every project I do. They are really useful – when anything goes wrong, there is always an easy way to get back to a working version. That’s why I’ve always found WordPress projects to be a little bit difficult – they are often serious software projects too but it’s hard to do proper versioning for them. It’s because half of the truth is in the files and half of it is in the database. So with my colleague, we started looking for ways to unite those two worlds and version everything in a single Git repository. The result is VersionPress.

Chris: For developers already using Git in their workflow, how will they be able to benefit from using VersionPress?

Borek: I have seen many developers using Git to version control the files part of a WordPress site, which is certainly useful on its own and I have personally used that approach for a long time. However, I haven’t seen many developers doing full-site versioning in Git, including database. That is something quite unique about VersionPress, and while I don’t say that there aren’t solutions or workflows to achieve similar results, I haven’t seen a solution that combines proper version control with user friendliness in the way that VersionPress does.

Chris: VersionPress has certainly attracted interest and your project was recently discussed on Hacker News, how can the WordPress community get behind this and contribute to fast track development?

Borek: Yes, the initial response has been overwhelming and we are humbled by that. But it is also a very young project and we know the goal is quite ambitious. That’s why we’re currently running a campaign at versionpress.net to crowdfund the initial development and I’d like to ask everyone who likes the idea of VersionPress to consider supporting it. We can’t make it without the support of the community and any help will be greatly appreciated.

Chris: How can readers keep up to date and find out more about VersionPress?

Borek: We have a Twitter account at @versionpress and publish the announcements and other things at our blog versionpress.wordpress.com.

So there you have it, certainly an interesting project to watch in the WordPress space. After learning more about the project I decided I’d get in early and back it (contributions start from as little as $5). I do wish the team every success with hitting their target soon and I really hope we do see this plugin in the near future! If all goes to plan, it should be available later this year.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://petermeadit.com/ Peter Mead

    VersionPress is a great idea. Looks like support from the community will be important to really cement this in. Hats off to you for showing support for Borek. I need these kinds of breakthroughs to really help me manage my WordPress coding.
    Thanks Chris and Borek.

    • OphelieLechat

      Peter commenting on an article by Chris on SitePoint. World colliding all over the place :)

      • http://petermeadit.com/ Peter Mead

        Hey Ophelie :) Chris told me he had written an article here, had to check it out. Love SitePoint and WordPress, great mix.

  • http://chrisburgess.com.au/ Chris Burgess

    Hi Theo, yes this will be very useful for site admins too :)

  • markseddon

    Seriously awesome. We’ve been using bedrock/roots as the basis for our WP projects but have still had issues pulling plugins into our workflow without migrations. This will rock muchly.