Why do version control systems exist?

Why do version control systems even exist?
They exist for better code management and track the code changes.
The pen drive analogy in software development.
Let’s start with a scenario to understand it better.
I am a developer who started developing a chatting app. I want to have the feature of sharing images in my application but clearly don’t know how to do it. So I decided to take help from one of my friends. To develop that feature, he requires the code base, which I sent him using a pen drive. He developed the feature and sent the code base again to me using the pen drive. Now I have a new code base that has many changes, and I don’t know exactly what the changes are. Now suddenly the friend has discovered the bug in his code for which he has applied the fix in his machine, and he asks for the pen drive again so that he can share the code base again. Now what can happen? There will be multiple folders named as project_V1, final_project_V1, final_final_project_V1, etc. Now, till he sends the pen drive to me again, I can’t do any changes at my end because we don’t know what changes the friend has done this time, and I will need to write my changes again in the new code base. So this is the problem in even a team of two developers. Suppose there are multiple developers who are working on a large-scale project, unaware of changes done by others, and end up creating multiple files with multiple final versions, and now no one knows which is real.

Problems Faced Before Version Control Systems
There is no collaboration between team members.
Loss of code due to untracked changes.
There's lots of confusion due to the many final versions of code.
Delay in work due to manual efforts of managing code and finding the changes done.
Final conclusion
To solve all the problems related to code management, it was Linus Torvalds developed GIT in 2005 as a side project to track the code changes done in the project LINUX.
I hope you liked the article.
Thank you.




