Git - Basic Concepts - from a simple human's perspectives - Part 1
So what is this whole article about?
Good question!!! Well this one is on Git.
And before you ask the obvious next question, let me assure you, Git is not another unwieldy acronym. It is just another meaningless name that arose from the mind of one ‘funny’ man - Linus Torvalds - the creator of Linux .For want of another "creative" name,he coined "Git",or ,so we presume...
Well, a by-the-book answer to the previous question would be that Git is a Version Control System (or maybe better put, a Revision Control System).
So that brings us to the whole question of what Version Control System is all about...
No worries.Let me break it down for you....
To know what Version Control System means, you first need to know what is the scenario that we are trying to address here:
Developers (serious ones - the ones who wrote, ate and slept volumes of code), from the beginning of time, always faced one issue with the ever-prevailing need for change of code.They always had to modify, add to existing code and keep a track of all these changes/additions. It was difficult.
People started using different versioning mechanisms to denote a ‘state’ of the code at a particular instance of time. They started naming the versions using numbers such as 1.0, 2.0, … or using timestamps (a numeric representation of time and date at a particular instance) such as 20111230.1830, and so on. People manually maintained separate copies of each version of code. They just had to remember the versions names to find which code folder contained the required version of code.
This was all well and good when the number of versions were very few. But as the volume and complexity of the code grew, even this would become difficult.
When the number of changes became too many, the number of versions became too many. They had to keep a track of all these versions, and this became even more complex, requiring yet another system for tracking and controlling versions.
Even more complicated was the requirements that rose up when multiple people started working on the same piece of code. Collaboration was necessary to complete big projects. And if not done right, collaboration could be a nightmare! There had to be a system that could handle all this.
This was the scenario that gave birth to Version/Revision Control Systems.
We shall see more about these version control systems in Part II of our series on Git.