Version Control Systems (VCS)
There are three types of VCSs — Local, Centralized and Distributed VCSs.
A local VCS keeps it local which does not support collaboration very well. If it is not backed up properly, there is the risk of losing everything if the one copy you have is corrupted.
A centralized VCS has a single server that contains everything — all the versioned files. Everyone has to a certain degree visibility of where everyone else is at. It also provides administrators fine-grained control over permissions. However, a centralized VCS has the same disadvantage of single point of failure as a local VCS does because the entire project is in a single place.
A distributed VCS (DVCS) solves all of the above mentioned concerns. It works by letting clients check out not the latest snapshot of files, but rather the full history of the repository is mirrored/ checked out. Everyone has a full copy/ backup of everything.
Git is a DVCS, among others.