Skip to main content

Command Palette

Search for a command to run...

Why Version Control Exists: The Pendrive Problem

Updated
2 min read
Why Version Control Exists: The Pendrive Problem

Have you ever thought about why version control systems (VCS) like Git exist? How did developers collaborate on a project and share code before this? Well, in this article we’ll try to understand why version control systems exist and how developers were sharing and collaborating before this.

What is a Version Control System?

Version control system is software used to track the changes in code, allows collaboration on a codebase, and allows you to roll back changes in case something breaks. One of the most famous and widely used version control system is Git, which was developed by Linus Torvalds as a side project to manage and track changes in the Linux codebase when it grew a lot.

Why Does Version Control Exist?

You may be thinking, "What were engineers and developers doing before the Version Control System”? How they were sharing code, tracking changes, and collaborating on projects. Well, this leads us to a different era called “The Pendrive Analogy.”

Before version control system, developers were sharing code using pen drives, emails, etc. This process was so slow and had many problems. For instance, there is a project on which I’m working now. I told my friend to create a feature in it. I had to put the codebase on a pen drive and give it to my friend. My friend would do all the changes in the code and return my pen drive. This causes the first problem, when my friend was working on it, I had to stay idle for that time, we both couldn’t work together on this.

Now my friend completed it and returned the pen drive to me. I saw the code, but I don’t know what changes were made by my friend, this leads to another problem of tracking changes.

Now I move forward and start working on another feature on this project. Then my friend realizes that there are some bugs in this project, he fixes the bugs, and another problem arises, the pen drive is with me, and I can’t get the new code where my friend fixed the bugs.

Now I made another feature, and he fixed the bugs. When we have to merge the code, we have to manually check for conflicts. This is another problem.

Problems do not stop here. What if my friend’s code breaks things in my project? I can’t roll back the code.

That’s why version control system exist.

More from this blog

M

Mursaleen's Blog

13 posts

Why Version Control Exists: The Pendrive Problem