Why Version Control Exists: The Pendrive Problem

Every developer uses some or the other version control system. But have you ever thought about how programmers managed code before version control systems existed.
Version Control Exists
VCS is a tool used in software development and collaborative projects to track and manage changes to source code. It exists in the software development industry to allow people to work on the same code at the same time without breaking the code. These systems help manage code, collaborate with teammates, keep track of changes and revert to older versions if necessary.
Before these systems existed people used various methods to share code and work together. Some are listed below:
- Pendrive Method
People used various methods to share and work in teams when the version control system did not exist. One of them was using a pendrive to transfer files. One person would edit the code and store it using a name that indicated a version like code_1.html. The person would then pass this pendrive with the file to the next teammate - person B, he would make changes and store a next version essentially a copy with some changes using a name indicating version like code_2.html. This would go on and on till the project would be completed. This method of performing changes to the same file had a lot of issues like:
Hard to track history and who made the changes
Multiple copies eating space in pendrive
Tracing back bugs was very tedious
Overwriting code
Data corruption
- Sharing files through email
The team would make changes in their local copy and share the file with teammates using emails. In this approach, all the team members maintain their own code and make changes to it. When the main code is circulated using email they add their own changes to it. This causes issues like overwriting, code duplication, some issues are also introduced while manually merging code.
These and more problems were present until we got VCS.
VCS helped teammates work on the same project using a local copy of the project and then merge their copies with efficiency and conflict resolution. It also kept track of what changes were added by whom and when this helped a lot in case of bugs. These features also saved time of manually merging code and checking what caused merge conflicts.
The most famous VCS, Git, was developed by Linus Torvalds in 2005. According to the 2022 Stack Overflow developer survey, 96% of professional developers use Git. Git can be used on all three major operating systems - The Mac, Windows and Linux



