2

I'm looking for a plugin that provides version control (specifically using git for WordPress. I would like the plugin to meet these requirements,

  • Records changes in both the filesystem as well as the database (most plugins out there are not able to detect changes within the database or require that you backup the database from time to time - I'm looking for something that records changes like creation of a post and tracks that change as a commit; Revisr is an example of a plugin that does not meet this requirement)
  • Changes by different users are recorded under those usernames (for instance, instead of recording all changes under one username like "wordpress", it records changes under their username with each commit)
  • The ability to revert commits
  • The ability to roll back to a commit (meaning it reverts everything after the commit)
  • Can use any git instance (does not have to use a platform such as GitHub, WordPress GitHub Sync is an example of a plugin not meeting this requirement)

Some features that are not requirements but wanted are,

  • Gratis
  • Ability to checkout different branches
  • What's wrong wtih doing it the old fashioned way? Gitlocious, gitlab etc. Trying to do it through wordpress is like fitting a round peg into a square hole. – user3791372 May 13 '16 at 2:07
  • @user3791372 I don't know how familiar you are with WordPress but it uses not only the file system but also a database. – Tom May 13 '16 at 3:33
  • I'm very familiar with Wordpress. I know it uses a database. That fact doesn't bolster your belief that Wordpress should be used to manage git repos. – user3791372 May 13 '16 at 10:20
  • @user3791372 oh, I think then you may not understand my question, I'm trying to use git for WordPress (recording changes of new posts, new plugins, etc.), not using it as a dashboard to manage other git repos (I agree, that would be a waste of time). – Tom May 13 '16 at 12:49
  • 1
    If you wanted to do it dirty, it would be maybe 10-20 lines of php code, including the hooks and the code to execute the git commit. Then, as your needs become better known, then go looking for something! – user3791372 May 13 '16 at 20:03
1

So far, the only plugin I've seen meeting these requirements is VersionPress. It records both changes to any file in the filesystem and tracks changes make to the database. It tracks users (and their email) for any changes made and associates them with the commit. Anything done by WordPress itself is tracked by a user called "Non-admin action". It has both the ability to revert commits and the ability to roll back to commits. It creates its own git instance (does not need to connect to GitHub but it does have the ability to do so). This plugin is still in development and is currently in the Early Release Stage. It is scheduled to be released in Q1/Q2 in 2016. After contacting them, I've been told that a pricing model has not been set up yet but this is what they said,

New pricing is not announced yet but we will very likely move to a SaaS model which will be yearly subscriptions for various services (think off-site backup). Early Access members will have a discounted upgrade path from the EAP but VersionPress itself, or at least its core, will very likely be free.

Honestly, I'm really exited for this. This will make backup larger instances of WordPress sites much easier as it will greatly reduce the size of backup storage and make versions easier to restore to and will make development ten times easier as well.

VersionPress

What it is, in simple terms:

VersionPress keeps historic revisions of everything in a site. It is the undo button for WordPress, allowing you to roll back to any previous state of the site.

But it is even better than your common undo button in a text editor / word processor. You can selectively undo past changes, keeping the newer ones, do painless synchronizations between multiple instances of your site, organize team work, etc.

For nerds / devs:

VersionPress brings the power of Git to WordPress. We version-control both files and the database, in a clever way that is friendly to diffing / merging.

The point is that you can manage your WordPress site in a same way as you do your other software projects. WordPress site is a software project after all and, in our opinion, deserves the same tools & workflows that the rest of the world enjoys.

Features

  • AUTOMATIC CHANGE TRACKING - VersionPress creates new version every time something changes on the site, be it new post, plugin update, theme customization or just about anything. It tracks both files and the database which makes it very powerful.

  • UNDO AND ROLLBACK - Returning back to a previous state of the site is as simple as clicking a link in the admin screen. There are two options – either roll back to a previous state or just undo some specific change(s) from the history.

  • SELECTIVE UNDO - One of the nicest features: you can selectively undo a change without affecting newer updates. For instance, you can return to a previous theme while maintaining newer content updates.

  • EASY STAGING - Staging is crucial for reliable updates but has been traditionally difficult to set up and work with. VersionPress makes it painless. It also facilitates team workflows as it can synchronize mutlitple clones of a site.

  • GREAT FOR BACKUP - VersionPress is extremely space-efficient. A site with hundreds of updates will still usually take just a few MB. Another great thing is granularity as new "backups" are created after every logical change, not at a fixed time.

  • ANY TOOLS & WORKFLOWS - No matter how you manage your site, whether through admin screens, WP-CLI or by manually editing the files in an external tool, VersionPress supports that. Any Git client can be used to work with VersionPress' repository.

  • SHIPS AS A PLUGIN - Sounds trivial but is actually a big achievement and tribute to WordPress' extensibility. VersionPress is one of the most complex plugins out there.

  • WORKS BEHIND THE SCENES - You can install and forget VersionPress, it will do its work silently behind the scenes. It will be there when you need it.

  • SOLID INTERNALS - Git is one of the best version control systems out there and we're proud to bring its power to WordPress.

VersionPress Interface

VP's commit structure view

VP's plugin UI

Update 1

5/12/2016

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.