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!
DISCUSSION (14)

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 😁

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.

"Github is going to be the Facebook for code"

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 like a cupboard that stores “Lego” pieces where this “Lego” is used to make things like computer games.

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?

Classic DEV Post from Jul 13

What are good ways to learn software architecture and systems design?

I get anxious when working on back-end code. Data loss, security breaches and s...

READ POST
Follow @mikkpr to see more of their posts in your feed.
Ben Halpern
A Canadian software developer who thinks he’s funny.
More from @ben
Have you used the new "suggested changes" in GitHub pull requests?
#github #opensource #discuss
Thoughts on GitHub Actions?
#github #discuss
Trending on dev.to
How to be an awesome open source maintainer?
#discuss #hacktoberfest #opensource
I'm a software developer and a meditation teacher - ask me anything!
#ama #productivity #softskills
Which monitor should I buy for programing?
#discuss #webdev
Why "Just Unionize" Doesn't Work
#career #gamedev #computerscience
How banks handle our balance, technically?
#explainlikeimfive #programming #databases #design
Barking at the right tree (1000 followers)
#meta #career #blog
Learning the Granular Details of a Programming Language?
#discuss #javascript
Breaking up with my mouse (Mac edition)
#productivity #webdev