DEV Community

Cover image for Git Good

Posted on

Git Good

A fundamental aspect of any code-base is collaboration. Developers from various backgrounds can integrate their knowledge in creating the perfect product required.

Besides, documentation of self progress is also something useful as it portrays one's journey.

Luckily, there are complete systems and databases that take care of such progress. Following is an idea about this, namely Git and GitHub.

Getting Git

Git is essentially a "version control system", which simply means that it tracks various updates and amends in a code-base by maintaining a certain flow of the code through various branches and forks. These are essentially kind of a copy of the actual code that we can work on while preserving the original code.
This is essential, because we don't want the actual code to be useless until we finish our job. We want to fix or upgrade it separately and then merge the changes back to the original.
Following is a common visualization.

Branches example

Git installation is pretty straightforward; just head on to the site and install it according to your OS. It has no prerequisites. Make sure that you also have your Git Bash with the bundle.
Git Bash is basically a terminal that is a bit personalized for Git. Windows users are recommended to use it over your cmd/powershell. Although the VSCode terminal is also very supportive.


GitHub is essentially a site that manages code-bases. There are other websites as well, like GitLab and BitBucket. But GitHub is far too popular.
You can simply create an account on it which is completely free up until certain restrictions.
These however can be bypassed if you're a college student by getting a pro. This explains how they can get a pro account for free.

The Basics

Git has certain common commands. Usually, we want to do one of these things with version control:

  • Create A Repository that has some code that we created.
  • Contribute To A Repository that exists already, possibly on some other user's account.

These might get confusing if not payed attention to, since once we go into larger code-bases, version control might not be our primary focus. Hence, it is recommended that we learn this early on and have it in practice.


  • FreeCodeCamp has an amazing video that explains not only the basics but a bit more about SSH and the lot.
  • For Hindi speakers, CodeWithHarry is always a treasure trove.

Other than that, you could always check out here for any related hacks that I find interesting.


Top comments (2)

emperoryp7 profile image
Yash Pandey (YP)

Great one @srijansriv 🙌🏻

tusharjain0022 profile image
Tushar Jain

Informative Blog 🚀