Like a Version, Pushed for the Very First Time

Posted by Ricky Thomas on September 19, 2014

Hello world :) My name is Ricky Thomas and I'm currently a student at Dev Bootcamp in NYC. This blog is the beginning of the beginning for me in terms of blogging, but I love to write and I'm learning to love to code. In this particular posting I'll introduce the basics of what is called "Version Control" and also talk a little bit about git and GitHub.

Okay, say you were writing a play with a friend and you were going to do it all electronically because you live in New York and your friend is in Seattle. During your creative process you will want to be writing scenes and putting them in an order so the story makes sense. But, what if you wanted to rewrite a scene so something later on in the story makes more sense, and you also want your friend to be able to look it over to see if he likes your changes? You would want to do it in a way that allows you to keep the unchanged original (in case he hates it so you can go back to what you had) but also allows you to keep your edited version, show it to your friend, and possibly make those changes permanent to the original.Wouldn't it be great if your friend had access to the original as well and could send you possible changes? And further than that, what if you could make even more changes to your friend's changes? Well "git" is what's called a "Version Control Manager" and it's a program you install into your computer so that you can do just this. Create different versions of something and piece the best parts of it together and into the final product.

Git is run from your own local computer and from there a developer can work in a downloaded copy of the original source he's currently working on. Any changes you make are recorded by git. The user can then "add" these changes to what's called a "staging area" and then "commit" the changes to the original piece. Now he has a new "version" of the original which he can then "merge" into a master copy stored online in what's called the "GitHub".

"GitHub" is a website that allows you to store these "versions" on the internet. Therein allowing your companions access from anywhere. In the computer programming world this tool can be extremely useful. Computer code is very exact and any small error can ruin a whole book of code. Since this is the case, having a "master" version to refer back to/and update at any given time can be very beneficial. GitHub allows programmers who are making their own versions of a code section by using git on their own LOCAL terminals to push those versions into the GitHUB online. There, their coworkers can view, edit, and give feedback on the code before it's saved in the master copy that everyone else is working on.

Thanks for reading!