The Importance of Version Control, git, and Github

Sunday, November 2, 2014

It is easy to confuse Git and Github in the beginning, at least I was originally. However, there are great resources online that explain the differences.

Let’s say you’re writing an essay on MS Word, which is similar to writing code on Sublime, more or less. You want to track the changes you make so clicking Save won’t really allow you to compare the new work to previous work, but clicking Save As and naming the newer version would. In this sense “commit” is the bundle of changes that you made to the older version to the newer version. Having progressing versions is version control, which allows you to track all the changes you’ve made. Thus, if you mess up, you can go back to the previous version. Also, it allows other people, as well as yourself, to see how your ideas have changed and progressed.

Git is something you install on your computer and it keeps a history of the changes you make with the folder (directory) that your essay is saved in. So, here is a folder with different progressing versions of your essay. Github is like Dropbox in the sense that you can upload your directory so that other people can view all your versions, add their own versions inside, etc.

Developers use version control so that each can make changes and add new coding to the same document without overriding each other. When you merge, you are able to commit two or more people’s contribution to a new version (the most recent and complete document).

This reminds me of a time when I was an English tutor in Brazil for a Japanese middle school boy (I know right) and we were working on his report on Google Doc. All of a sudden a stream of text appeared and it also went and deleted every new word we were typing at the same time. I started freaking out because I had no idea what was going on. He said the orange | cursor meant his partner was logged into the same doc and was able to work on it in real time, and he was being annoying on purpose by messing with us (because that is what adolescent boys do….). TECHNOLOGY THESE DAYS, kids are so lucky nowadays. BACK IN MY DAY, I used Microsoft Word all by my lonesome self.

Now, if my student was writing code and using git and Github, then we'd be able to avoid his annoying classmate taking over the document.