<commit_before>Title

Subtitle

Date

Paragraph 1

Paragraph 2

Paragraph 3

Add as many paragraphs as you want!!!<commit_msg>Technical Blog Contents Added To Blog Directory<commit_after>Technical Blog

The Breakdown Of git vs. GitHub

2nd Nov, 2014

Version Control vs. git vs. Github can be a bit tricky to nail down, but I often find that analogies help me to solidify murky ideas. The best one I have come across is that of a video game. 

First let's start from the bottom ("now we here #Drake"), when you are coding, it is important that you save all of your work on a semi frequent basis. In programming jargon, each of these saves is called a commit. Version control is a fancy way of describing a log of each one of these commits or saves. Git is just a version control tool. So it enables version control on your computer, so that you can make those saves. ("Git also does other things, but we will focus on the saves for now") 

Ok, so what about that video game analogy that I promised. We all remember playing Donkey Kong when we were younger; remember the level where you are on the rollercoaster, and you are trying to pick up all the bananas along the way while not falling off any of the jumps? Well that level took me forever to beat, but after having made a little progress, the game would save my spot as a checkpoint, so that each time I died, instead of making me start from the very beginning, I could start from that checkpoint that had been saved. Essentially the game was adding a commit after a bit of work, so that I could go back there and edit my approach. That is version control in action. I don't think the Donkey Kong was using git to do this, but you get the point!


Now that we have version control down, let's focus on how it relates to GitHub. GitHub is in fact a hub of code, that lets other people see and work on your code. They can make copies of your code and work on them from their own computer (by forking your repository) or you can both work on different parts of your work by editing seperate branches. 


You can think of GitHub as a score board for your video game checkpoints. Except in this case, other people can begin the game from your checkpoints and edit the approach themselves. Pretty cool huh! 

GitHub is extremely benefical for programmers for many reasons. For one, it allows programmers to work seemlessly on a team, because each teammate is able to edit portions of code without undoing the work another teammate is doing. GitHub also allows others to be able to check your work before you merge it to master. This can help avoid pushing code that has bugs, to live. GitHub also makes visible the changes that were made to the original code by both you and your teammates, so that you don't have to go back and search for what you've edited. This is also a good reason to be sure to leave good messages for each commit so that you and your teammates know exactly what you meant to change with each save. 


Alrighty, I think you've got it now!
melissawimberly signing off...
{'fraction_non_alphanumeric': 0.027293653403485694, 'fraction_numerical': 0.0026307135810588623, 'mean_word_length': 4.028099173553719, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7177722', 'n_tokens_mistral': 759, 'n_tokens_neox': 704, 'n_words': 554}