<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aditya Giri</title>
    <description>The latest articles on DEV Community by Aditya Giri (@adityagiri14).</description>
    <link>https://dev.to/adityagiri14</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3716466%2Fee6f5c8c-dc7c-43a7-a40e-6e7da8d1d642.jpg</url>
      <title>DEV Community: Aditya Giri</title>
      <link>https://dev.to/adityagiri14</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adityagiri14"/>
    <language>en</language>
    <item>
      <title>Why Version Control Exists: The Pendrive Problem</title>
      <dc:creator>Aditya Giri</dc:creator>
      <pubDate>Sat, 17 Jan 2026 13:11:50 +0000</pubDate>
      <link>https://dev.to/adityagiri14/why-version-control-exists-the-pendrive-problem-3ocl</link>
      <guid>https://dev.to/adityagiri14/why-version-control-exists-the-pendrive-problem-3ocl</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION:
&lt;/h2&gt;

&lt;p&gt;Back then, bugs were manageable. Saving your work? That took courage.&lt;/p&gt;

&lt;p&gt;Pressing &lt;strong&gt;Ctrl + S&lt;/strong&gt; felt like defusing a bomb.&lt;br&gt;&lt;br&gt;
Was this the correct file?&lt;br&gt;&lt;br&gt;
Had someone else already made edits?&lt;br&gt;&lt;br&gt;
Would this action erase hours of someone else’s work?&lt;/p&gt;

&lt;p&gt;There was no undo button for teams.&lt;br&gt;&lt;br&gt;
No rewind.&lt;br&gt;&lt;br&gt;
No safety net.&lt;/p&gt;

&lt;p&gt;Just hope.&lt;br&gt;&lt;br&gt;
And folders with desperate names:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;final&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;final_final&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;final_final_please_work&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dont_touch_this_one&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t exaggeration.&lt;br&gt;&lt;br&gt;
This isn’t nostalgia.&lt;/p&gt;

&lt;p&gt;This was everyday life for developers - and it’s exactly why &lt;strong&gt;version control was born&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupx3a5odyd4l4df0umo5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupx3a5odyd4l4df0umo5.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 Life Before Git
&lt;/h2&gt;

&lt;p&gt;Before tools like Git existed, software development was… very tangible.&lt;/p&gt;

&lt;p&gt;Code didn’t live safely in the cloud.&lt;br&gt;&lt;br&gt;
It &lt;strong&gt;traveled from person to person&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On USB drives.&lt;br&gt;&lt;br&gt;
Via emails.&lt;br&gt;&lt;br&gt;
Inside shared folders.&lt;br&gt;&lt;br&gt;
Through FTP servers.&lt;/p&gt;

&lt;p&gt;Code moved like physical documents, not as part of a tracked history.&lt;/p&gt;

&lt;p&gt;At its heart, version control solves one fundamental problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do multiple people work on the same code without wiping each other out?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, that seems obvious. Back then, it was anything but.&lt;/p&gt;

&lt;p&gt;Developers treated code like Word docs - open, edit, save, overwrite.&lt;br&gt;&lt;br&gt;
And every overwrite erased part of the story.&lt;/p&gt;




&lt;h2&gt;
  
  
  💾 The Pendrive Story
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Collaboration before version control&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Picture a small team working on a single project.&lt;br&gt;&lt;br&gt;
Now imagine they share &lt;strong&gt;just one USB drive&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Yes - only one.&lt;/p&gt;

&lt;p&gt;That single drive holds the entire project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer A updates some code, saves it, passes the drive along.
&lt;/li&gt;
&lt;li&gt;Developer B edits something else and saves… &lt;strong&gt;overwriting A’s work&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Developer C is still using an older copy and adds changes there.
&lt;/li&gt;
&lt;li&gt;The drive comes back around again.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And no one knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which version is the latest
&lt;/li&gt;
&lt;li&gt;Which version actually works
&lt;/li&gt;
&lt;li&gt;Which change caused the bug
&lt;/li&gt;
&lt;li&gt;Or why the intern pushed half-finished code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This wasn’t sloppy teamwork.&lt;br&gt;&lt;br&gt;
It was &lt;strong&gt;the only way they knew&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F424l7cznrtaz3922l80y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F424l7cznrtaz3922l80y.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ Challenges Teams Dealt With
&lt;/h2&gt;

&lt;p&gt;Development teams were stuck guessing answers to basic questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who made this change?&lt;/li&gt;
&lt;li&gt;Which file should we trust?&lt;/li&gt;
&lt;li&gt;When did this bug first appear?&lt;/li&gt;
&lt;li&gt;Why does it run fine on one computer but fail everywhere else?&lt;/li&gt;
&lt;li&gt;Did someone test this directly on production?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As projects became larger, pendrives slowly gave way to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email attachments&lt;/li&gt;
&lt;li&gt;FTP uploads&lt;/li&gt;
&lt;li&gt;Shared company folders&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the core issue stayed the same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code was shared. Changes were not tracked.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So developers relied on the only solution they had - duplicating files and folders.&lt;/p&gt;




&lt;h2&gt;
  
  
  📁 When Folders Took Over
&lt;/h2&gt;

&lt;p&gt;Project directories began to grow out of control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;project_final&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_final_v2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_latest&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_latest_final&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_latest_final_please_work&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each folder name was a small act of hope.&lt;/p&gt;

&lt;p&gt;Teamwork became risky.&lt;br&gt;&lt;br&gt;
One careless save could erase days of progress.&lt;/p&gt;

&lt;p&gt;And this wasn’t due to bad habits.&lt;br&gt;&lt;br&gt;
At the time, this was simply &lt;strong&gt;how things were done&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Until developers reached their limit.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdm9g73d6l5dl2nbj279.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdm9g73d6l5dl2nbj279.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Why Git Came Into Existence
&lt;/h2&gt;

&lt;p&gt;The real turning point was &lt;strong&gt;Linux&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Linux wasn’t a small side project.&lt;br&gt;&lt;br&gt;
It was huge.&lt;br&gt;&lt;br&gt;
Used worldwide.&lt;br&gt;&lt;br&gt;
Worked on by thousands of developers.&lt;br&gt;&lt;br&gt;
Changing every single day.&lt;/p&gt;

&lt;p&gt;Starting in 2002, the Linux project relied on a proprietary tool called &lt;strong&gt;BitKeeper&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
For a while, it did the job - until its free usage was discontinued in 2005.&lt;/p&gt;

&lt;p&gt;Almost instantly, the Linux community lost the system it depended on.&lt;/p&gt;

&lt;p&gt;Progress slowed.&lt;br&gt;&lt;br&gt;
Teamwork became difficult.&lt;br&gt;&lt;br&gt;
And there was no open-source tool strong enough to replace it.&lt;/p&gt;

&lt;p&gt;So Linus Torvalds did what he tends to do when there’s no good option available.&lt;/p&gt;

&lt;p&gt;He created one.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ How Git Was Born (2005)
&lt;/h2&gt;

&lt;p&gt;Git was not built to look nice.&lt;br&gt;&lt;br&gt;
It was not built to be easy on day one.&lt;/p&gt;

&lt;p&gt;It was built to &lt;strong&gt;handle disorder at scale&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goals were simple and strict:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Never lose work - every change must be saved&lt;/li&gt;
&lt;li&gt;Support very large projects&lt;/li&gt;
&lt;li&gt;Be extremely fast&lt;/li&gt;
&lt;li&gt;Work well for distributed teams, without relying on one central server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git wasn’t designed to make developers comfortable.&lt;/p&gt;

&lt;p&gt;It was designed to make collaboration &lt;strong&gt;reliable&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ What Git Fixed
&lt;/h2&gt;

&lt;p&gt;Problems that developers once accepted as normal suddenly had solutions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deleted or overwritten code could be recovered&lt;/li&gt;
&lt;li&gt;Conflicting changes could be resolved cleanly&lt;/li&gt;
&lt;li&gt;Teamwork became structured and predictable&lt;/li&gt;
&lt;li&gt;Every change gained a permanent record&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Version control stopped being a temporary fix.&lt;/p&gt;

&lt;p&gt;It became the &lt;strong&gt;core of modern software development&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v0x4cdoyofnrjs1inq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v0x4cdoyofnrjs1inq6.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🌱 Life After Git
&lt;/h2&gt;

&lt;p&gt;Git didn’t just introduce a new tool.&lt;br&gt;&lt;br&gt;
It changed how developers think and work.&lt;/p&gt;

&lt;p&gt;Now, developers can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try new ideas without worrying&lt;/li&gt;
&lt;li&gt;Work on features in separate branches&lt;/li&gt;
&lt;li&gt;Undo mistakes in seconds&lt;/li&gt;
&lt;li&gt;Work together with confidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Errors stopped being scary.&lt;br&gt;&lt;br&gt;
They turned into learning moments.&lt;/p&gt;

&lt;p&gt;The impact was huge:&lt;/p&gt;

&lt;p&gt;=&amp;gt; Open-source projects grew rapidly&lt;br&gt;&lt;br&gt;
=&amp;gt; Personal projects felt less risky&lt;br&gt;&lt;br&gt;
=&amp;gt; Teams became more open to change&lt;br&gt;&lt;br&gt;
=&amp;gt; Development became less stressful&lt;/p&gt;

&lt;p&gt;Git didn’t remove mistakes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It removed the fear of making them.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Git vs GitHub
&lt;/h2&gt;

&lt;p&gt;One last confusion worth clearing:&lt;/p&gt;

&lt;h3&gt;
  
  
  Git
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A software tool&lt;/li&gt;
&lt;li&gt;Installed on your computer&lt;/li&gt;
&lt;li&gt;Keeps track of code changes&lt;/li&gt;
&lt;li&gt;Can be used without internet&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  GitHub
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A website and service&lt;/li&gt;
&lt;li&gt;Stores Git projects online&lt;/li&gt;
&lt;li&gt;Helps people work together&lt;/li&gt;
&lt;li&gt;Adds features like issues, pull requests, and reviews&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git existed first.&lt;br&gt;&lt;br&gt;
GitHub helped it reach everyone.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7ai2vdokxbjqusrg65t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7ai2vdokxbjqusrg65t.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Final Takeaway
&lt;/h2&gt;

&lt;p&gt;Git didn’t appear because developers were chasing the next shiny tool.&lt;/p&gt;

&lt;p&gt;It emerged because the old workflows were simply &lt;strong&gt;breaking under pressure&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As Git matured, entire ecosystems formed around it - GitHub, GitLab, Bitbucket, SourceForge, AWS CodeCommit, Perforce - each solving collaboration in its own way.&lt;/p&gt;

&lt;p&gt;Yet GitHub evolved into something more than a tool.&lt;br&gt;&lt;br&gt;
It became a shared stage, where developers collaborate publicly and ideas grow in the open.&lt;/p&gt;

&lt;p&gt;In the next article, we’ll move from &lt;em&gt;why&lt;/em&gt; Git exists to &lt;em&gt;how&lt;/em&gt; it works, exploring &lt;strong&gt;Git fundamentals and essential commands&lt;/strong&gt; step by step.&lt;/p&gt;




</description>
      <category>beginners</category>
      <category>git</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
