18.104.22.168 Understanding the problems it addresses
Version control systems provide you with three important
- Reversibility: the ability to back up to a previous state if you
discover that some modification you did was a mistake or a bad idea.
- Concurrency: the ability to have many people modifying the same
collection of files knowing that conflicting modifications can be
detected and resolved.
- History: the ability to attach historical data to your data,
such as explanatory comments about the intention behind each change to
it. Even for a programmer working solo, change histories are an
important aid to memory; for a multi-person project, they are a
vitally important form of communication among developers.