<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Version Control and Web]]></title><description><![CDATA[Version Control and Web]]></description><link>https://tech-blogs-ashish.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 01:19:33 GMT</lastBuildDate><atom:link href="https://tech-blogs-ashish.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Why Version Control Exists: The Pendrive Problem]]></title><description><![CDATA[The Importance of Version Control
We use Google Maps almost every day, whether to find a location, explore routes to a new place or navigate through traffic. Apart from everything else, it is definitely used by cab drivers in Uber and Ola for navigat...]]></description><link>https://tech-blogs-ashish.hashnode.dev/why-version-control-exists-the-pendrive-problem</link><guid isPermaLink="true">https://tech-blogs-ashish.hashnode.dev/why-version-control-exists-the-pendrive-problem</guid><category><![CDATA[version control]]></category><category><![CDATA[Git]]></category><category><![CDATA[GitHub]]></category><dc:creator><![CDATA[Ashish Kumar]]></dc:creator><pubDate>Wed, 28 Jan 2026 11:45:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1769589829910/3a1a10a6-5081-4f98-890d-fdc27a574f3b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-the-importance-of-version-control">The Importance of Version Control</h2>
<p>We use Google Maps almost every day, whether to find a location, explore routes to a new place or navigate through traffic. Apart from everything else, it is definitely used by cab drivers in Uber and Ola for navigation. I want you to imagine yourself as the project members of the team working on developing the Google Map application. It is obviously a huge project with numerous lines of code. Now imagine building such a massive application without a Version Control System, just a Pendrive passed around between developers. That’s where the real problem begins.</p>
<h2 id="heading-the-pendrive-analogy-scenario-without-version-control-system">The Pendrive Analogy-Scenario without version control system</h2>
<p>Suppose there are three developers A, B and C, and they are working on the project and making various changes to the Google Map code:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769580534996/8efade16-e6c1-4888-b40a-64c8890cf0b3.png" alt class="image--center mx-auto" /></p>
<p>So, we now see that the folder and files move through multiple locations and teams and this creates certain problems:</p>
<h2 id="heading-problems-faced-before-version-control-systems"><strong>Problems Faced Before Version Control Systems</strong></h2>
<h3 id="heading-a-finding-out-the-latest-version">A. Finding out the Latest Version</h3>
<ul>
<li>Without version control, it gets tricky to identify which folder and file is the latest version and is free of bugs. Because there is no mechanism to track changes done in the code.</li>
</ul>
<h3 id="heading-b-problem-of-overwriting">B. Problem of Overwriting</h3>
<ul>
<li><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769597940425/3ae75697-02d5-47d5-979b-a7f0023cbe44.png" alt class="image--center mx-auto" /></li>
</ul>
<h3 id="heading-c-no-collaboration">C. No Collaboration</h3>
<ul>
<li><p>Since the Pendrive can only stay with one person at a time, developers cannot work simultaneously. Everyone must wait for their turn, making teamwork slow and inefficient.</p>
</li>
<li><p>So, there is no central hub where every team member working on the Google Maps project could collaborate. All they can depend on is an external device which has to change hands every time for updating any changes.</p>
</li>
<li><p>And what if one of the developers forgets to combine their changes back into the main project folder? The team may lose important updates completely.</p>
</li>
</ul>
<h3 id="heading-d-no-backup-or-recovery">D. No Backup or Recovery</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769583015110/0b11862b-5ab6-4185-b0b6-a3f443ca9614.png" alt class="image--center mx-auto" /></p>
<p>Therefore, what the team working on Google Maps project needed was:</p>
<ul>
<li><p>a system track changes in the code,</p>
</li>
<li><p>to have knowledge of which version is the latest one,</p>
</li>
<li><p>what changes have each developer made into the project file,</p>
</li>
<li><p>how to recover lost files, reverting back to an older version which might be bug free, and</p>
</li>
<li><p>a way for all to collaborate on the project by storing files in a central repository.</p>
</li>
</ul>
<p>Hence, Version Control system became necessary to tackle these challenges.</p>
<h2 id="heading-why-version-control-is-useful-in-modern-development">Why Version Control is Useful in Modern Development</h2>
<p>A Version Control System (VCS) such as Git, provides the benefit of commit history, branching, merging and Recovery to the developers.</p>
<ul>
<li><p><strong>Commit history</strong> — Every change (e.g.- a satellite feature or a UI change) is saved as a commit in Git, thus providing a clear timeline of changes and who changed what and why was the change done (via a commit message).</p>
</li>
<li><p><strong>Branching</strong> — allow developers to work on new features independently without affecting the main codebase.</p>
<ul>
<li><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769588512193/f2a44b1f-1b3e-4ec2-98d7-245e0e2516f1.png" alt class="image--center mx-auto" /></li>
</ul>
</li>
<li><p><strong>Merging</strong> — Allows combining work from multiple developers and integrating new features into the main project</p>
<ul>
<li><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769588738275/d9207310-a1fb-4509-a57e-f2ed05eaaed8.png" alt class="image--center mx-auto" /></li>
</ul>
</li>
<li><p><strong>Recovery</strong> — Git stores the entire history of commits, so developers can easily revert to any previous stable version, if there is a bug or a feature fails in the latest commit.</p>
</li>
<li><p><strong>Collaboration</strong> — GitHub is a platform that hosts Git repositories online, enabling developers across team such as Google Maps project team, to collaborate, review changes, and contribute safely.</p>
</li>
</ul>
<p>Hence, Version control systems like Git were not created for complexity, they were created to solve real problems developers faced every day: lost work, overwritten files, confusion, and poor collaboration.</p>
]]></content:encoded></item></channel></rss>