Skip to main content

Command Palette

Search for a command to run...

Why Version Control Exists: The Pendrive Problem

Published
•2 min read•View as Markdown
S
A software engineer who work across the Full Stack. Having adept skills on coding and product management

Why Version Control Exists

For creating a todo to a production grade application, we all need a system that keeps the track of our code lines and files.

Before creating that system we were all using temporary solutions.

  • Zip the code files and send them through emails.

  • Pendrives were passed around.

  • WhatsApp and Google Drive links carried source code.

For example:

The Pendrive Analogy

You are working on a project with multiple developers.

You copy the project folder into a pendrive, and hand it to other developer for further features.

That teammate modifies the code, copies the project folder into the pendrive and returns it.

Meanwhile you might have already changed some files on your machine.

Now you don’t know:

  • Which file should be kept?

  • Whose version is correct?

  • Did anything get overwritten?

This eventually leads to conflicts, history lost and collaboration problems.

To avoid confusion, developers created folders like:

This worked; until it didn’t.

Problems Faced Before Version Control Systems

Every source code will eventually get larger thus making things more difficult.

  1. Overwritten code: Two developers editing the same file meant one person’s work could completely erase the other’s changes without any warning.

  2. Lost history: As the project grows with it’s name from initial to latest versions, the old logic are gone forever

  3. Unfeasible collaboration: Different people share different code styles which becomes a guesswork for who and why someone changed it.

  4. Fear of Experimentation: Developers hesitates to try new things because one risky move could break the entire working codebase.

Overtime one thing was very clear

code needed memory

Developers need a system that could;

  • Track changes

  • Keep code history

  • Allow multiple people to work safely

  • Restore older versions instantly

  • Enable fearless experimentation

That necessity gave birth to version control systems tools designed not just to store code, but to manage collaboration itself.

Git for Beginners: Basics and Essential Commands

Part 1 of 2

This is a basic walkthrough of VCS from scratch. In this I will explore what is git and why it was build and will walkthrough a tasteful developer experience. By the end of this you will have a better hands on experience on Git.

Up next

How Git Operates: The Importance of the .git Folder Explained

Inside Git: How it works and the Role of .git folder