# Why Version Control Exists: The Pendrive Problem

## Introduction

Before version control system existed sharing and collaboration between developers was a disaster.

We used to share the code using zips and pendrives. This was quite difficult but when there were two or more developers working on the code , it would become disaster.

Lets go deeper in this **Pendrive Problem** and its solution

---

## The Problem

Lets say there is a developer A who is working on a app. Now he has to collaborate with another developer B and they work on same project at same time. They create a zip named app-working.zip and start working on the app.

Now developer A completes feature A and developer B completes feature B and both of them have very different codes. Merging the code has become disaster they use tools like difference checker and it took both of them a lot of time to merge their code.

Now this was only for 2 developer but usually more developers work on same project and share the code using zip or pendrive. This leads to :

```bash
code_final.zip

code_working.zip

code_fully_final.zip
```

Many versions of the code starts existing and it is hard to maintain a single source of truth.

---

## The Solution  

To solve these problems, **Version Control System** like git was created.

Using version control systems we can track all changes/versions of our code. So instead of creating different zips, we can track changes in our code using version control systems and merge the code without any issues.

---

## Conclusion  

The Pendrive Problem seems small, but it is much bigger issue that is **lack of control over changes**.

Version control systems exist because humans collaborate, make mistakes, and need structure.  
It turns messy file-sharing into a clean, reliable workflow.
