What is Git and Github? | Git vs GitHub
Tags: github, opensource, computerscience, career
Published: 2021-05-23 14:20:55

Hello reader!

If you are a programmer, you must have heard about Git and GitHub. This article will not contain any code, We will first get familiar with the interface I will try and explain to you the basics of theory and concepts in plain English to help you get started with Git. This is the 1st article in the Git and GitHub series.

[Check out the Repository for Ultimate Resource in python](https://github.com/ayushi7rawat/Ultimate-Python-Resource-Hub). Drop a star if you find it useful! Got anything to add? Open a PR on the same!

{% github ayushi7rawat/Ultimate-Python-Resource-Hub %}

You can refer to my **YouTube video Tutorial** to see a working tutorial for better understanding and a step-by-step guide of the same. 

{% youtube nWIAc-9EFdg %}

## What will be covered in this Blog

```python
1.	What is Version Control System and its Types
2.	What is Git?
3.	What is GitHub?
4.	And the difference between the two.
```

*Let's get started!*

## What is Version Control System?

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621695195611/fw0EMg5MC.png)
Before jumping in for git let’s understand what version control is.

- VCS or version control is a management system that tracks changes in a computer file. 
- It is a software tool that records and manages changes to the source code over a period of time. 

So imagine that you are working with your friend on a shared document and two of you are making changes in the file at the same time, what will happen? How will you track the change and mark the owner of the same? Or maybe you are working in a large team, how will you manage then? 

- It helps developers to work efficiently. 

Consider another scenario, If you are working on a project and modify or update your code on a regular basis and on one specific day, you wish to rollback and revert files back to a previous state or revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more, a version control system can do this for you. 

## Types of Version control

So basically there are three major types of VCS. 

1. Local Version Control Systems
2. Centralized Version Control Systems
3. Distributed Version Control Systems

We will not get into too much detail about this in this article. 

## What is Git?

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621695218160/mjNxSKPe7.png)
There are various Version control system in the market but Git is one of the most popular amongst them. 

- Git was originally developed in 2005 by the creator of Linux.
- Git is free and open-source software so, anyone can use it.

You cannot remember every change that you make, quite obvious, right? But what you can do is remember a simple command. 

- Honestly, it has made our life easier as It keeps track of the entire history of things that you are working on and allows us to revert back to a previous version no matter how many times you have made changes to your file. 
- It has simplified the process of working with other people and encourages collaboration among developers and makes working in a team really easy. 
- Git widely used by various organizations, businesses, and even startups to manage their code, it lets you watch the entire timeline. We will study this in detail when we will learn how to set up, install and use GitHub in the next part of this series.

## What is GitHub?

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621695234127/7hz0nlwSa.png)
GitHub is one of the most advanced and developed hosting platforms for version control and collaboration. It is a web-based service for version control using Git has all the benefits of git and even more.

I have explained the look and feel and an overview of GitHub in the video. check it out for a detailed explanation.

## Are Git and GitHub the same?

No, Git and GitHub are not the same. 

Git is a version control system that lets you manage and keep track of your source code and history whereas GitHub is a cloud-based hosting service that lets you manage git repositories.

![Brown and Orange Neutral Delicate Organic Fashion Marketing Presentation.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621695068928/kp1Qu_lTo.png)

That’s Git and GitHub in a nutshell. Do you have a GitHub account? Share the link below. And with that, it's a wrap!  I hope you found the article useful! Which one is your favorite Podcast? Share in comments below.
I create content about **Career, Blogging, Programming, and Productivity**, If this is something that interests you, please share the article with your friends and connections. You can also subscribe to my newsletter to get updates every time I write something!

Thank you for reading, If you have reached so far, please like the article, It will encourage me to write more such articles. Do share your valuable suggestions, I appreciate your honest feedback!

I would strongly recommend you to Check out the [YouTube video](https://www.youtube.com/watch?v=jAOkWehMF6E) of the same and **don't forget to subscribe to my Channel**. I would love to connect with you at [Twitter](https://twitter.com/ayushi7rawat) | [LinkedIn](https://www.linkedin.com/in/ayushi7rawat/).

You should definitely check out my other Blogs:

- [Python 3.9: All You need to know](https://ayushirawat.com/python-39-all-you-need-to-know)
- [GitHub CLI 1.0: All you need to know](https://ayushirawat.com/github-cli-10-all-you-need-to-know)
- [How to make your own Google Chrome Extension](https://ayushirawat.com/how-to-make-your-own-google-chrome-extension-1)
- [Run Javascript from Python](https://ayushirawat.com/run-javascript-from-python)
- [Automate WhatsApp using Python](https://ayushirawat.com/automate-whatsapp-using-python)
- [Automate Cowin Vaccine slots Availability using Python](https://ayushirawat.com/automate-cowin-vaccine-slots-availablity-using-python)
- [What is Competitive Programming](https://ayushirawat.com/what-is-competitive-programming-or-beginners-guide)

See you in my next Blog article, Take care!!