Why GitHub is important (a dinner analogy)

Samori Bryan
2 min readMar 17, 2021

I’ve been experimenting with Git recently and wondering how I could explain the functionality of Git and how it’s so important to the development of unity software.

One has two admits that the program can seem intimidating to first-time users, so I’ve created an analog that I think can help individuals wrap their head around what Git is capable of and why it is so important.

It’s called the mansion dinner analogy,

imagine you own a large Mansion, you’ve been tasked with creating the finest five-star meal. The decision of which foods to serve can be seen as the user’s initialization of Git with their project files.

Once the food is decided upon, the cooks may decide to either prepare all the dishes in the kitchen or to prepare the dishes individually. This can be seen as the development team deciding whether to utilize Branches with the

Git branch nameofbranch

command to either separate development and focus on individual aspects of the project or to keep them within the main branch and simply work on it all at once. After work is done the cooks may bring their parts of the meal together, in other words, the use of the merge command

Git merge

To essentially merge the product together in preparation for the “finalized diner service”.

When it comes to working with Git by itself the metaphor works to a degree, however, concerning how GitHub is brought into the picture. To the seasoned developer, GitHub is an indispensable tool, newer users however may view the process of pulling, committing and pushing data and updates constantly as a nuisance.

In this case, then imagine that along with our Mansion dinner metaphor there is now also a mess hall right next door. Now the developers (cooks) will also be committing their work to the GitHub (mess hall) server itself.

The advantage of which is that it’s far easier to keep track of the individual data (food) in the mess hall as well as its openness allows other cooks to sample the dishes outside of the kitchen far more easily.

What I’m getting at with this food base analog is that GitHub openness allows users to better track and better share their development code. Automatic logging of Git and GitHub means that developers have an immediate history that can be referred back to. the openness of GitHub itself also allows large teams to work from essentially anywhere by utilizing the severs information sharing features.

Now hopefully my long-winded metaphors of kitchens, mess halls and dinners have hopefully Illustrated just how necessary GitHub and Git can be to the modern cook!…I mean developer...

--

--