Explain GitHub Like I'm Five

Since GitHub is likely to be in the mainstream tech news a bit more in the next few days, I figured it might be good to gather some simple explanations of what the service is in case your friends or family ask you about this.

Did you find this post useful? Show some love!

I just realized there's already a post like this

Say you are writing a short story and you want to do a really good job. You might write the story on one sheet of paper, and then get another sheet of paper and write another version, and then keep writing more versions on more sheets of paper. After a while, you'd end up with lots of sheets of paper that weren't the version you were currently writing. You might put those sheets in a folder so that you can go back and see old drafts of your story.

You give that folder to your mom to keep track of, because you know that you can always ask mom for one of the versions of your story if you need it. Plus, mom keeps photocopies so she can give versions of your story to your siblings. Mom also keeps similar folders for the stories that your siblings write.

Git is the folder, and your pieces of paper are code. Your mom is GitHub.

But I think it's still useful to have another discussion, possibly more geared towards complete out-of-the-loopers.

😁

The last phrase "Your mom is GitHub" could make a good "your momma" joke though 😁

I love the analogy but I'd like to point something out.

After you write the story for the first time, every time you think, oh I could have improved here, you write that improvement on a sheet of paper. (Gossip with Adults: You don't really make a new copy of the story with git, do you? If you do then how do you explain why git is better than just making copies of the file when he grows up 😁)

Ooooh when I first was learning about github/git an awesome analogy was taught to me - so I can't take credit for it (unfortunately)!

Git is like saving multiple drafts of written papers.

Github is a social media hub for those multiple drafts of papers that other people can view, work on, and collaborate on!

You're playing a story-based video game.

Every time you find a save point,you save your game so you can go back to it later if you missed something on the level or if your character goes bye-bye.

If you do it right, you'll have save files for every important scene right before you fight the big bad guy or at the beginning or middle of the level, so if they beat you up or if you missed something, you can go back and try again.

TL;DR:

  • Save point menu of a specific game = GitHub
  • Your game progress = your code
  • Big bad boss beating you or you missed an important item = you messed up your code.
  • Reload game post-beatdown = reload code before you messed up.

Also there's a multiplayer option that allows your friends to play the same game, and save their progress to your game if they made good progress.

I think PS4 games have this option! ...at least Persona 5 does. You can save a game on ~The Cloud~ and load it from a friend's PS4-- if you trust them enough with your account password lol.

Ben Halpern DEV.TO FOUNDER

Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❀️

Plus, no fake comments when you're signed in. πŸ™ƒ

GitHub is like Instagram but for code, if Instagram let other people copy your pictures and apply their own filters which you could then apply back to your original version of the picture.

You have some magical unicorns in your computer that are actually called "code". But perhaps you want every one to see it and have some fun (and work) with the unicorns, so you put them up on GitHub for everyone to see. Or you don't want to lose your unicorns and keep them a secret, so you put them on GitHub but only those that you grant access to can see the unicorns.

"Github is going to be the Facebook for code"

Go find out what git is. Found it out? GitHub is just an instance of git that you can push and pull from.

This really isn't helpful at all is it?

GitHub is like a cupboard that stores β€œLego” pieces where this β€œLego” is used to make things like computer games.

Classic DEV Post from Dec 15 '17

When working from home, how do you turn off at the end of the day?

What tips do you use to mark the end of "work time?"

READ POST
Follow @peter to see more of their posts in your feed.
Ben Halpern
A Canadian living in New York, having a lot of fun cultivating this community! Creator and webmaster of dev.to.
More from @ben
What are the various labels your team or project uses in GitHub or otherwise?
#discuss #pm #github
Explain Interpreted Programming Languages Like I'm Five
#explainlikeimfive
Trending on dev.to
What is today's "goto"?
#discuss #learning #tips #history
What are your programming blogs?
#discuss
A better way to handle magic values and constants?
#discuss
Ever feel like you have "Programming Synesthesia"?
#discuss #programming #productivity
Its 2018, why are you still going to the office?
#discuss
5 Reasons You Should Write That Blog Post
#career #beginners
Back to basics: Naming
#naming #javascript #programming #discuss
Biggest aha moment
#discuss