# Why Version Control Exists: The Pendrive Problem

### How Developers Managed Code Before Git & GitHub

Have you ever wondered how developers **wrote and maintained code before Git and GitHub existed**?

Before modern version control systems, developers relied on **local folders, ZIP files, pendrives, and emails**.  
There was no automated history, no safe collaboration, and no easy rollback.

Let’s go back to that era.

---

## Local System Era: Manual Version Control

Assume one developer named **Viral**, working on his final-year project.

He builds a stunning project and saves it locally as:

```plaintext
Final_project.zip --> Final_v2_project.zip --> Latest_Final_project.zip
```

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1768503860078/848e2805-04ee-4b9b-bc2d-92324d501091.png align="center")

Viral keeps all previous versions.  
He can remember what he changed, but seeing multiple ZIP files is **confusing and risky**.

* Which version is correct?
    
* What if the wrong file gets deleted?
    

This was **manual version control**.

---

## The Pendrive Analogy in Software Development

Now imagine a company with **three developers**:

* Viral
    
* Amit
    
* Rohit
    

They are building a product using a **pendrive**.

### Typical workflow:

* Viral implements the login UI and saves it to the pendrive
    
* Rohit copies it locally, adds backend logic, and saves it back
    
* Amit copies it locally, writes testing scripts, and saves again
    

This is where the real problems start.

---

## Problems Faced Before Version Control Systems

### 1\. One Developer at a Time

Only one person can work if the pendrive is with them.  
Parallel development causes the project to go **out of sync**.

---

### 2\. No Accountability

There is no way to track:

* Who wrote which code
    
* When it was written
    
* Why it was changed
    

When bugs appear, no one knows who is responsible.

---

### 3\. No Rollback Option

If new code breaks the project:

* There is no safe way to go back
    
* Previous working code can be lost forever
    

---

### 4\. Code Overwriting Risk

One developer can easily **overwrite another developer’s work**.  
The last saved copy decides the final code.

---

## Why Version Control Became Mandatory

As projects and teams grew, these problems became **unmanageable**.

Pendrives, emails, and ZIP files failed in real-world team collaboration.  
Developers needed a system that could:

* Track every change
    
* Allow parallel work
    
* Maintain full history
    
* Provide accountability
    
* Enable safe rollback
    

This need gave rise to **version control systems**.

---

## Final Thoughts

Git and GitHub solved all these problems.

They didn’t just store code —  
they brought **history, collaboration, safety, and trust** to software development.

Version control exists because software **outgrew pendrives and folders**.

---
