Loading...

How would you explain GitHub (or Git) to People that are not programmers or programmers that used SVN before?

I'm implementing GitHub at my company and need to explain Git to my project managers that will be touching the websites all the time and to some programmers that have been using SVN for a long time. How would you explain it (with a metaphor, flow, use case) how Git works, why we should use it and why it's better than SVN? You can send links to books, videos, etc. But not the "googleable ones" that I already did ;)

Git is the latest and coolest software, and SVN is the outdated old one. When you tell SVN that you want to create a new branch of your code to have some fun, it creates a heavy weight dumb carbon copy for you. But Git is intelligent, it won't create a new copy for you instead it will only keep track of the things you're adding/removing/changing with respect to the original sources.
I hope I made the point, for more let's have a telephone call some time :)

If your team members are familiar with Microsoft Office, Dropbox, Facebook, and...dinner parties, let's use those as references:

You know that button in Microsoft Word that says "Edit, Undo"? Git does that...but for every change that has ever been made to a project...and by any member of your team.

You know that "Track Changes" feature in Word with all the red and blue lines showing who changed what? Git does that...and it includes comments so you can explain why things were changed.

You know how Dropbox backs up your files "in the cloud", but you still have a local copy on your computer (and maybe your iPhone, too)? GitHub does that for your code.

You know how Facebook has "Like" buttons and threaded comments and pictures of your friends and their adventures? While non-programmers find Git to be about as exciting as a fax machine, GitHub makes the process of working with a project through Git feel like using Facebook.

Git Branching is tough to explain in a (unique) simple metaphor...but I think of it like a potluck dinner party. Everyone makes their own dish and brings it to the party. Drinks, casseroles, salads, and meat. Then you get to put all those things together to create a meal that you can enjoy.