GitHub 101 through Financial Metaphors: Key Concepts

Victor Barbarosh
Practical Coder’s Chronicles
5 min readAug 17, 2023

Introduction:

As newcomers to the world of software development, grasping essential tools and methodologies can be a challenging journey. Often, what seems intuitive to experienced developers can appear complex and bewildering to beginners. One such indispensable tool in a developer’s toolkit is a Version Control System (VCS), a platform that facilitates efficient source code management. Among VCS platforms, GitHub stands out as one of the most popular and user-friendly choices. In this blog post we aim to provide an accessible overview of what GitHub is and how developers interact with it.

Drawing Parallels: GitHub and Personal Banking

Navigating GitHub, especially for beginners, can be intimidating. However, using financial metaphors can demystify its core concepts, making them more relatable and approachable. In this blog post, we’ll explore the fundamental concepts of GitHub through the lens of financial metaphors.

Repositories:

Imagine repositories as digital bank accounts for your code. Just as you manage deposits and withdrawals in a bank account, you can upload and download code to and from your repository. In this analogy, repositories are akin to secure deposit boxes holding your valuable assets — your code.

Commits:

A commit is similar to a transaction in your bank account. Whenever you make changes to your code, you create a commit. Just as transactions have unique identifiers, each commit is distinguished by a hash — a unique identifier.

Branches:

Visualize branches as separate accounts within your software “bank.” Creating a branch allows you to experiment with different code versions without affecting the main branch (akin to your primary account). Think of main branches as your primary accounts and other branches as secondary ones.

Pull Requests:

When merging changes from one branch into another, you initiate a pull request — a process reminiscent of applying for a loan. Much like a loan application undergoes review, a pull request is scrutinized by other developers before changes are integrated into the main branch.

Issues:

Equate issues to financial challenges that need resolution. Just as you’d report a problem with your bank account, you can flag issues related to your code. Issues are used to track bugs, feature requests, and other code-related tasks.

Forking:

Forking entails creating a copy of someone else’s repository. This action parallels opening a new account with the same balance as the original. You can modify the forked repository without affecting the original.

Collaborators:

Consider collaborators as authorized users on your code “bank account.” Adding collaborators grants them permission to make code changes. Similar to trusting someone with access to your bank account, you trust collaborators with access to your code.

A Key Distinction:

While GitHub and banking share similarities, there’s a crucial difference that sets them apart. Your source code can actually exist in two places simultaneously — both on your local machine and on GitHub’s servers. So, if one morning you wake up to find GitHub temporarily unreachable, don’t panic! Your code is safe and sound on your computer. In the financial world, unfortunately, your money can’t magically duplicate itself like your code can.

And that’s the beauty of GitHub — your code has the power to be in two places at once. This flexibility ensures that you’re never completely cut off from your work, even if the online platform faces a hiccup. But when it comes to your hard-earned cash in a bank, well, you’re at the mercy of a single location. So before you start storing your code or money, consider the advantages that GitHub’s duality brings. After all, you wouldn’t expect your bank to create a magical copy of your money, like the Bank of Canada might with their currency!

In the end, while coding and banking may share some intriguing parallels, GitHub’s unique capability adds a delightful twist to the tale.

Conclusion:

By embracing financial metaphors, newcomers can better comprehend GitHub’s essential concepts. Repositories mirror bank accounts, commits equate to transactions, branches embody separate accounts, pull requests parallel loan applications, issues represent financial concerns, forking mirrors creating new accounts, and collaborators reflect authorized users. This approach offers a user-friendly path to understanding GitHub, enhancing the journey into the world of coding.

Happy coding!

P.S. If you got at least slightly inspired by this post, start here — Getting Started — Installing Git

Disclaimer — this post is entirely my creation and has not been sponsored by any third parties.

Call for Action

Dear reader, I invite you to join me in this digital realm. If you find my words resonating with you, please consider giving a round of applause (aka Clapping), hitting that follow button, and sharing your thoughts in the comment. Let’s explore this world of ideas together.

--

--

Victor Barbarosh
Practical Coder’s Chronicles

I am a full-stack software dev, writing about code, money & code of money, in all their forms and beauty!👉🚀