Hello people! ๐
This is Sumit and in today's blog, we'll be looking at git and Github and try to break it down to a level such that it is clear as water.
What is git?
You may have heard that git is a version control system. What it means is that it is a piece of software that enables folks (primarily developers) to keep track of versions. Let's take a real-life analogy to understand this:
We all have played video games right. Let's say that we're playing a game and the current level is quite difficult. With quite a bit of luck, we somehow manage to finish half of the level and then a monster shows up and kills us.
Then what?
Then we spawn and resume from the last checkpoint, right?
Now, git is the software that enables us to create those 'checkpoints' when developing apps and stuff.
Git enables one to create checkpoint by 'committing'
Say we're developing a website and one day we manage to create the top navbar. So, we create a checkpoint (by 'committing' ) so that the next day when we sit down to work, we can resume from the navbar onwards.
But why even bother, I'm fine without git!
The idea of saving progress and resuming the next day becomes especially powerful once you realize that coding and developing software that people use is a collaborative process and so it becomes quite a task to get the whole team up to speed with the current progress made every day.
Imagine the number of meetings one would have to go through just to update themselves with the progress the rest of the team made while they were away.
Git enables people to collaborate and build cool stuff
It became even more important during these covid times when remote work is really picking up.
Instead of going through countless meetings and reading tons of meeting minutes, one can simply go through the commit history (remember 'commit' from earlier) and instantly come to speed with the team.
Okay, I hear you. But now, what is 'Github'?
Github is simply a cloud provider for git. Remember git is a version control system and GitHub is a cloud provider of the versioning system.
In other words, GitHub enables one to use git 'on the cloud' or using 'browsers'. Let's again take a real life analogy to understand this:
We all store files on our computers but cloud storage providers like google drive, dropbox, etc enable us to do that very thing but 'on the cloud'. Notice here that the idea of storing files is not a new one but accessing files on the fly via a browser, now that is some cool stuff.
Github is simply 'git' on the cloud
Similarly, using git is not a new idea but having the ability to do all that on the fly, via a browser is what is enabled by services like Github. And just like there are multiple cloud storage providers like google drive, Dropbox, apple cloud, mega, etc, there are several of these 'git on the cloud' service providers as well. Two of the most popular ones are Github and Gitlab.
Okay, folks, this is it. I hope I was able to explain what git and GitHub are in this blog post and if you're reading till here then I probably did. In that case, please give me a follow and share this with as many people as you want.
And if you want to discuss anything, I'll be more than happy to reply to your comments.