Tech Learning Collective

Technology education for radical organizers and revolutionary communities.

Collaboration Across Universes: Basics of Version Control with Git

Poster for Collaboration Across Universes: Basics of Version Control with Git

As most of us know first-hand, the creative process involves many edits and revisions. Adding a little bit here, trimming a little bit there, but then hitting “undo” a bunch and experimenting with a new direction is quite normal! When your project is a single file, pressing “Save As…” many times might suffice, but what if your project spans dozens or even hundreds of files?

This is where version control systems (VCSs) shine. Designed to track, compare, and merge different versions of the same project, these tools give you the ability to make a snapshot of the state of your work at a given point in time so that you can “undo” or “redo” any number of times, across any number of files. Moreover, by naming different snapshots, you can create an infinite number of variations of your project and then build on those unique versions without affecting the others; it’s as though the new version is in its own alternate universe. This makes it possible to easily and safely experiment in one universe (called a branch) without throwing away or overwriting the original version of the project on which your changes were based.

In this beginner’s workshop, you’ll learn the basics of Git, a free distributed version control system on which popular sites like GitHub are based. Git is lovingly called “the stupid content tracker” because it can track changes to everything and anything that can be digitized. Although it was originally invented for software programmers, Git is also useful for novelists, researchers, and anyone else whose work involves creativity in a digital medium.