The difference between centralized and distributed version control system

SVN is centralized version control system, Git is a distributed version control systems, centralized and distributed version control systems What difference does it make?

Let me talk a centralized version control system, the repository is centrally stored in a central server, while the work time, are used in your computer, it must first get the latest version from a central server, and then start to work, I did live, then his job on to the central server. The central server is like a library, a book you want to change, you must take it out first from the library, and then returned home to change yourself, change over, then back into the library.

The biggest problem is a centralized version control systems must be networked to work, if good, bandwidth is large enough in LAN, fast enough, if available on the Internet, encountered Suman, it may submit a document on the need 10M 5 minutes, that's not the people to suffocate ah.

It distributed version control system and centralized version control systems different?

First, the distributed version control system there is no "central server" on everyone's computer is a complete repository, so when you work, you do not need networking, because the repository is on your own computer . Since there is a complete repository on everyone's computer, and that more than one person how collaborative it? Let's say you change a file on your computer A, your colleagues also changed the file on his computer A, then, between the two of you just need to modify their respective pushed to the other side, we can see each other's edited.

And centralized version control systems compared to the security of distributed version control system is much higher, because everyone has a complete computer repository, a personal computer is broken does not matter, just a copy from someone else on it. The central server centralized version control system becomes a problem, the owner no law at work.

When in actual use distributed version control system, in fact, rarely push changes from the repository on the computer between the two, because the two of you may not within a local area network, two computers can not visit each other, your colleagues might today ill, I have not even turned on his computer. Therefore, the distributed version control systems usually have to act as a "central server" computer, but the role of this server is only used to facilitate the "exchange" Everybody changes, without it we all work the same, but it is not convenient to modify the exchange .

 

Guess you like

Origin www.cnblogs.com/jwen1994/p/10896621.html