Centralized version control system , the 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. Central server is like a library, you have to change a book, you must first borrow from the library, and then back home to change, and then put back to the library.
Centralized version control system The biggest problem is the need to network to work, if it is OK in the LAN, the bandwidth is big enough, fast enough, but if on the Internet, if you encounter a slow speed, you may submit a 10M file will take 5 minutes, it is not to suppress the death of people.
What is the difference between a distributed version control system and a centralized version control system? first of all, the 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.
Of course, the advantage of git is not just that it doesn't have to be networked, but we'll see Git's extremely powerful branch management, leaving SVN behind.
From Http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 001374027586935cf69c53637d8458c9aec27dd546a6cd6000
Centralized (CVS, SVN) vs distributed (Git)