What is VCS?
What Problem was faced before VCS?
Suppose that you are working on a project and you found a bug in your code which you were not able to fix on your own. So, you asked one of your friends or seniors to fix that bug. Now, here is a problem that they can’t access the code files right? So, you came up with a solution to extract the code in a pendrive and share that to the other dev. Now, he fixed all the bugs in the code and gave you back the update code. You kept on adding more features into it. But suddenly, the other dev realized that he did something wrong in the code that fixed the other bugs but created a new bug. So, what will you do now? Both your and his codes are out of sync right? You might say you will share the pendrive again but what will happens if hundreds of devs join the project? What about the speed and efficiency? The code will become total mess in these cases right?
What problem did it solved?
So, the solution for the upper problem is to have a tracker that can track the changes in the code files so that many people can work together and it becomes easy to fix bugs. This is done by a tracking system and this tracking system is called VCS (Version Control System).
Few examples of VCS are: Git, Mercurial, Fossil, Subversion…
The below diagram will help you understand more clearly:
Why to use VCS?
Allows to track the changes in the code files.
Allows multiple devs to work together fluently.
Easy bug fixes due to tracked changes.
Fast and Efficient way because of the ability to let multiple devs work together.






