Git & GitHub - Best Version Control and Source Code hosting platforms respectively!
Tags: github, git, opensource, versioncontrol
Published: 2022-04-15 14:34:28

## Introduction

Version controlling and Open-sourcing are quite hot terms nowadays. Git & GitHub are leading the market with rich offerings in these domains. Thought to share some thoughts/findings on it.  

## How did it all get started?

Thousands of lines of code are written every day by developers. Some of that code becomes part of the actual application, while other parts may be eliminated because of errors, ambiguities, and inconsistencies. Sometimes when developers add a new piece of functionality to the application they notice that it doesn't work as expected and we need to go back to the stage where this functionality wasn't present. As when they didn't use a `version control system`, it was not feasible or difficult to do so as they weren't keeping track of previous versions.

## We Talked about **"A Version Control System"** but What is a version control System?

The purpose of version control systems is to `keep track` of and manage all the amendments made to the source code during the project's development. This ensures that all the changes are recorded. Also, if any mistakes are made in the current version of the code, we can roll back to the previous version. 

Being a developer, especially a `very productive and smart developer`, you should keep track of all the changes that you make to your code, so that if you need to go back to a previous version. In this case, **`Git`** can come in handy and provide a lot of value.

> **Git** and **GitHub** are the best version control and source code hosting platforms respectively among others

## So, what is Git?

![Git Login/Signup Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5y2ivdqjdgamvfa0t0px.PNG)

Git is a free, open-source software distributed version control system `(DVCS)` designed to manage all source code history.

> Open source is a term that originally referred to open source software. Open source software is code that is designed to be publicly accessible—anyone can see, modify, and distribute the code as they see fit - By RedHat

- You can go back to any of the previous versions of your source code 
- It can keep a history of commits, can reverse changes, and lets developers share code
- Each developer must have Git installed on his or her local device to collaborate
- It is commonly referred to as one of the best DevOps tools to understand and use in the developer space, and it’s among the most widely used tools today

## What about GitHub?

![GitHub Login/Signup Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j4x0nn26i7r2w9f22fsy.PNG)

GitHub, on the other hand, is a web-based platform for `hosting Git repositories`. In addition to _Git's DVCS (Distributed version control system), SCM (Source code management)_, GitHub has some additional capabilities. 

- Your source code can be stored online, but you can also contribute to open-source projects, discuss another's work with other contributors, and have your work improved by others
- You can also refer to GitHub as your dev project's online portfolio builder
- Another reason why devs use GitHub is because of its powerful Actions which make it really simple to automate software workflows. 
- Additionally, users can easily set up a CI/CD, so once they commit changes, the CI/CD quickly pulls them from the GitHub repo and applies them to the developers’ own deployment

When **Tom Preston-Werner**, **Chris Wanstrath** and **PJ Hyett** founded GitHub in 2008, they entered a tough market, with established services such as SourceForge and offerings Google and Microsoft. Despite this, `GitHub gained traction and, in July 2010, passed the 1m repository milestone.`

GitHub broke through the **10m repository** mark in **December 2016** and is adding **20,000 repositories per day**

> Now GitHub is known as a best open-source contribution platform

> By putting it simply, GitHub is an online platform for hosting source code repositories (Git repositories), while Git is a free open-source version control tool.
Git doesn’t require GitHub, but GitHub requires Git.

**Do you have any thoughts on it???** 

## References:
https://www.analyticsvidhya.com/blog/2021/09/git-and-github-tutorial-for-beginners/#:~:text=Image%204-,Difference%20between%20Git%20and%20GitHub,GitHub%20but%20GitHub%20requires%20Git.
https://kinsta.com/knowledgebase/git-vs-github/
https://www.newelectronics.co.uk/content/blogs/it-s-hard-for-software-developers-to-imagine-life-without-github