Version Control for Writing

Using version control for writing

For my day job, I develop computer games. I’ve been doing that for about four years now. I’ve enjoyed a couple of different roles in the game industry, including sound designer and writer. For both of those roles, I’ve needed to understand and use version control software. So as I was giving some thought to a few problems I’ve been having with managing my writing – switching back and forth between different computers (laptop, desktop), losing track of which draft I’m on, and worrying about saving backups – I thought of applying version control software to writing.

Sure, github (and other version control software)’s intended use is for software developers – projects that are being developed by multiple developers – so it might seem a bit over the top to use for writing. On the other hand, github is surprisingly easy to use even just for very basic versioning, and it works like a charm. So, why not use it for writing?

Here’s how I’ve been using it

I’m not going to give you a full-on tutorial. I will walk you through some of the basics, though, and give you a brief overview of how I’ve been using github.

First, you’ll need to set up your account. You can do this by visiting github.com and clicking the bright green “Sign up” button. Then just follow their instructions. Once you’re all set up, download the desktop software from here. Got it? Great. Install the software (obviously), and launch it.

Next up, create a repository for your writing. I’m using the Mac version of the software. The Windows version might look a little different.

Screen Shot 2015-12-22 at 10.50.22 PM.png

On the Mac, you just click the little + icon. Then you type the name for your repository, choose where you want it on your computer, and click “Create Repository.” This creates a folder on your computer at the location you chose. I called mine Dead London and stuck it on my desktop.

Then, after I saved my latest draft of Dead London in the folder, the files showed up under Uncommitted changes in github.

Screen Shot 2015-12-22 at 10.58.31 PM.png

I typed in a summary and description of my changes (“Added latest draft of Dead London”) and clicked Commit and Sync master.

Screen Shot 2015-12-22 at 11.01.18 PM.png

I then downloaded the github application on my laptop. Then I cloned the Dead London repository (File>Clone Repository). Then, after I finished working on my laptop, I committed and synced my changes in github.

Back on my desktop, all I had to do was sync, and I now had all the latest changes from my laptop. And I also had a backup on the cloud, plus a history of my changes.