Why Version Control Exists: The Pendrive Problem
If you have ever worked on a college project or a shared document before learning Git, you are likely familiar with a folder that looks something like this:
Project_Final
Project_Final_v2
3. Project_Final_FINAL
4. Project_Latest_Real_Final
5. Project_Please_Work_v3
This chaotic list of folders is the "Pendrive Era" of software development. Before tools like Git became mandatory, developers relied on pendrives, emails, and intuitively named folders to manage their code. It was a nightmare of overwritten files and lost progress.
In this article, we will explore why Version Control Systems (VCS) were invented by looking at the specific problems they solved: The Pendrive Problem.
1. The "Pendrive" Workflow (And Why It Failed)
In the early days (or in beginner teams today), "version control" meant manually copying your project folder to a USB drive and handing it to your teammate.
How it worked:
You write code on your laptop.
You copy the folder to a pendrive.
You walk over to your teammate.
They paste your code onto their machine, hoping they don’t accidentally delete their own work.
This manual transmission of data was error-prone. There was no history, no "undo" button, and no way to know who changed what.
Diagram: The Timeline of Lost Data
Without version control, file history is linear and destructive. If you save over a file, the previous version is gone forever.

2. The Collaboration Nightmare
The limitation of the pendrive (or emailing zip files) becomes immediately obvious when two people try to work on the exact same file at the same time.
Imagine you are fixing the navigation bar in index.html. Meanwhile, your teammate is fixing the footer in the same index.html file.
You finish your work and save it as index_new.html.
Your teammate finishes their work and saves it.
The Conflict: You cannot simply combine these files. If you copy your file over theirs, their footer work is deleted. If they copy theirs over yours, your navigation bar work is deleted.
Diagram: The "Overwrite" Collision
This visualizes how simultaneous edits lead to data loss in a manual workflow.

This lack of collaboration history meant teams had to shout across the room, "I'm working on style.css, nobody touch it!"—a method that obviously doesn't scale.
3. Enter Version Control: The Solution
Version Control Systems (like Git) were created to stop us from overwriting each other's work. They replaced the "Pendrive" with a "Repository."
Instead of passing files physically, we push changes to a central database that tracks every single line of code changed, who changed it, and when.
The Major Shifts:
From final_v2 to Commits: Instead of renaming folders, we take snapshots (commits). We can travel back in time to any previous snapshot.
From Overwriting to Merging: If two people edit the same file, Git warns you. It allows you to combine (merge) both changes intelligently rather than deleting one.
Diagram: Pendrive vs. Version Control Workflow
Here is how the workflow shifts from a linear, risky process to a distributed, safe one.

