Skip to main content

Command Palette

Search for a command to run...

Why Version Control Exists

Why a tracker need or it's importance.

Published
•3 min read•View as Markdown
Why Version Control Exists

Before understanding version control, let’s first understand what problem existed that led to the creation of version control. Then you will automatically understand what a version control system is.

  • Assume you are building a ecommerce website alone. After some time development figure out you want to add a AI Chatbot in application user interact with or ask help question. But You have not idea how to add AI Chatbot or integrate. Here You Need a Developer to do this task.

  • Let’s us assume you hire a developer ( Your Friend ). Know you first job is that give the full application code to our developer friend. But the question now arise how to ship code.

  1. The “User A” put all the code into a ZIP file, then put that ZIP file into a “Pen Derive”. And then gave that “Pen Derive” to the “User B.

  2. “User B” extract ZIP file code into our local machine / system and then Start our development and integrate AI chatbot functionality. Now “User B” Done .

  3. Now the “User B” work is complete. They now need to provide the new update code to the “User A. Then, they will put all the code in a zip file and place it in the “Pen Drive”. Then, they will return the “Pen Drive” to the “User A”

  4. Now the “User A” has access to the “Pen Drive” and can run the “User B“ code on his system.

  5. Now suppose “User B” integrated some incorrect code while integrating the AI chatbot for the first time. However, he has already copied all the code onto a “Pen Drive” and sent it to “User A”. Now he wants to request “User A” to give the “Pen Drive” back so that he can make changes to the code and then return it again to “User A”.

Problem in this way 👇

  • No Collaborative Environment.

  • “User A” not know about what’s the changes made by “User B”. And Similar to “User B” they do not know which technology work on “User B”.

  • One more problem both “developer” cannot write code Simultaneously . Because the reason is which “User” have “Pen Drive” they Write a code.

  • Another problem occur when one more “User” (Developer) came into for serving the code .

  • Who made changes in “Pen Drive” Source file we have no idea because not tracking of code.

Build Tracker in “Pen Drive”

  • Developer build a tracker in the “Pen Drive” who make changes into the code file we track it line by line , where they add code or remove .

  • No Centralized way where store code simultaneously and access it

Problem 👇

  1. Their was no collaborative environment more that one developer cannot push code simultaneously because tracker in the “Pen Drive”

Build Server for Collaborative “Environment”

  1. To Solve these kind of problem developer build a server where developer connect . In server we install that our “Pen Drive Tracker” to track “User” Code who made changes and remove or update line of code.

  2. This Problem Solve Our code tracking and more that one developer at a single point of time and we have storage to store code file.

  3. “Server means" :- GitHub . (Remote VCS) for store the code and make it centralized.

  4. “Tracker means” :- Git (Version Control System) for track the code.

  5. Now You Understand why we need a Version Control System.

NOTE 👇

It’s not that Git is used only on a server. We can also use Git on our local system to track changes in our own code.