Why Version Control System (VCS)
2 min readDec 26, 2019

Why version control?

Scenario 1:
- Your program is working
- You change “just one thing”
- Your program breaks
- You change it back
- Your program is still broken — why?
Has this ever happened to you?
Why version control? (part 2)
- Your program worked well enough yesterday
- You made a lot of improvements last night…
- You need to turn in your program now
- Has this ever happened to you?
Version control for teams
Scenario:
- You change one part of a program — it works
- Your co-worker changes another part — it works
- You put them together — it doesn’t work
- Some change in one part must have broken something in the other part
- What were all the changes?
Teams (part 2)
Scenario:
- You make a number of improvements to a class
- Your co-worker makes a number of differentimprovements to the sameclass
How can you merge these changes?
Version control systems (VCS)
A version control system (often called a source code control system) does these things:
- Keeps multiple (older and newer) versions of everything (not just source code)
- Requests comments regarding every change
- Allows “check in” and “check out” of files so you know which files someone else is working on
- Displays differences between versions
Benefits of version control
1. For working by yourself:
- Gives you a “time machine” for going back to earlier versions
- Gives you great support for different versions (standalone, web app, etc.) of the same basic project
2. For working with others:
- Greatly simplifies concurrent work, merging changes