To understand the origin of Git, it is necessary to know that there are two types of VCS: centralized and distributed systems.
The first type to emerge is the centralized systems, such as SVN, CVS, Subversion, and TFVC (or SourceSafe). These systems consist of a remote server that centralizes the code of all developers.
We can represent a source centralized system like this:

All developers can archive and retrieve their code on the remote server. The system allows better collaboration between teams and a guarantee of code backup. However, it has its drawbacks:
- In case of no connection (for a network problem or internet disconnection) between the developers and the remote server, no more archiving or code recovery actions can be performed.
- If the remote server no longer works, the code, as well as the history, will be lost.
The second type...