Version Control for Non Techies

How To Use Version Control for Everyday Documents

By Bart Teeuwisse @bartt

What is Version Control?

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

A little history

Local version control

Many file copies & error prone

A little history

Central version control

Adds collaboration

Central server = single point of failure

A little history

Distributed version control

+ +

Full mirrors = redundancy & offline access

Provide Transparency & Accountability

FiveThirtyEight's data is available to all

You can inspect the Historical Senate Predictions Data yourself.

And re-apply their methodology

And make modifications

In doing so FiveThirtyEight has made themselves accountable!

GitLaw

Solicit Collaboration

Twitter's Innovators Patent Agreement has been adopted by many tech companies.

Adoption required consensus.

Consensus required participation.

Version control allowed anyone to contribute.

More Collaboration

Tools

Setup

  1. Install software
  2. Open account
  3. Setup defaults

Work Flow

  1. Put under version control, aka. create a repository
  2. Record a version
  3. Make changes
  4. Repeat from #2

Collaboration

  1. Jane clones/forks Joe's repo
  2. Jane changes in her copy
  3. Jane asks Joe to pull & merge her changes
  4. Joe accepts Jane's pull request and merges Jane's changes
  5. Jane's changes are now available to all Joe's contributors

The End

Bart Teeuwisse @bartt

Colophon

This presentation was made with Reveal.js. Its source is available at github.com/bartt/version-control-for-non-techies

Press the ESC key to get a bird's eye view of the presentation.

Press the s key to see the speaker notes.