Both SVN and CVS are centralized version control systems, and Git is a distributed version control system
Centralized version-control system
Repository is centrally stored in the central server, and work, with their own computers, so the first from the central server to obtain the latest version, and then began to work, finished work, and then put their lives to the central server.
Centralized version control system The biggest problem is the need to network to work, if it is OK in the LAN, the bandwidth is large enough, fast enough, if on the Internet, if you encounter slow speed, may submit a 10M file will take 5 minutes
Distributed version control system
Distributed version control system does not have a "central server", everyone's computer is a complete repository, so that when you work, you do not need to network, because the repository is on your own computer. Since everyone has a full repository on their computers, how can multiple people collaborate? For example, you change the file a on your computer, your colleague also changed the file a on his computer, when you two just push their changes to each other, you can see each other's changes.
Compared with centralized version control system, the security of Distributed version control system is much higher, because everyone's computer has a complete version of the library, a person's computer is broken do not matter, casually from other people to copy one. Centralized version control system central server if there is a problem, everyone can not work.
In the actual use of Distributed version control system, in fact, rarely in the two people on the computer to push the revision of the Repository, because maybe you two are not in a local area network, both computers can not access each other, or your colleague is sick today, his computer did not boot. Therefore, the distributed version control system usually also has a "central server" computer, but the role of this server is only to facilitate "exchange" everyone's changes, without it everyone also work, just exchange changes inconvenient.
Version control system-the difference between centralized and distributed