I wish we had GitHub back in the day

My thoughts on version control

3/19/2015

In 2004 I began working on The Orion, the student-run newspaper at Chico State. It was an advanced news gathering operation. We had Mac computers, digital SLR cameras and our own decent website, www.orion-online.net (which is apparently a German coffee blog now).

We had all the cool tools and the awards to prove our talents. But we didn't have version control.

Imagine a staff of 50 college kids writing stories, editing articles and designing news pages. Now think of all the times you have accidentally deleted a file or saved over something you didn't mean to. We would routinely overwrite, destroy or just plain lose hours of work every month. There was no system in place to safely move our files around and make sure nothing horrible happened. So we had plenty of horrible happen.

Version control would have made our lives a lot easier. Today's college kids probably use a program called Git to make a digital trail of who touched each file, when they touched it and why they touched it.

Git is fantastic for teams that are collaborating on files. Once you finish editing a file - like this blog post, for example - you would declare the file as finished by "committing" it. You would then "push" the file to a central hub. A popular hub for software developers is GitHub.

GitHub allows you to publicly post your file for others to pick up and work on. It also allows you to jump into another person's file and work on it. But the file isn't just automatically overwritten when someone else wants to change things. There is a standard process for reviewing changes called a "pull request".

A student newspaper built today would save a lot of teary-eyed reporters and lost hours by building a workflow around Git. It may seem nerdy to use the command line to turn in a news article, but you'll thank me when your 750 word masterpiece on Chipotle opening up in the student union isn't accidentally deleted by someone cleaning a keyboard.