Ever create a directory/folder that looked something like:
project description.txt project description-working.txt project description-working-final.txt project description-working-final-really.txt project description-working-final-really-really.txt .... project description-working-final-really-really-really-really-final-final2.txt
Wouldn’t it be nice to have a system that simply recorded each of the changes, allowed you to go to any version (infinite undo/redo), even try different ideas without ever loosing anything? And make it easy to collaborate with others?
That’s the goal of revision control systems.
Now consider coordinating different people coming up with their own idea for how things should be done, and editing the same set of files that you are! It moves revision control from "nice to have" to necessity!
A popular example tool in the open source world is Git.
We’re going to spend around an hour learning the basics: enough that you have a feel for the typical workflow: cloning a repository, moving between branches, making commits, pushing and pulling updates.
Explore/play one or more of the following:
- Oh My Git! – recommended; Git focused, clear, shows what’s happening behind the scenes.
- Learn Git Branching – to the point. Visual; good for people with some awareness of revision control.
- Forest of Open Source mission of Twilioquest. Good practical practice using git and github. Requires you to have a github account and to do some activities on GitHub. Part of the larger Twilioquest game & activities around developing software.
- Github skills – guides and how-tos
Suggestion: for Oh My Git– aim to work through to the end of the section "S**t Happens". What you don’t complete now is homework 🙂