Centralized and Distributed Systems

In centralized systems, the date is stored at common point. Clients send changes over repositories on the web. In order to get information or do some basic operations,, clients have to connect the center. Whereas, the data is stored in your local computer in distributed systems. Consequently, people can do the operations without connecting to the center. These systems do not necessarily rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository and has the full history of the project on their own hard drive. This copy (clone) has all of the metadata of the original.

DVCS advantages :

The act of cloning an entire repository gives distributed version control tools several advantages over centralized systems:

 

Distributed Version Control : Git , Mercurial

Centralized Version Control : Svn (Subversion)


Svn vs Git

In SVN systems, versioning is done at the remote server. Commits are recorded from SVN server with the revision number. In order to get the data, people have to get an access to server at that time. Briefly, SVN doesn't include any local commit so that SVN must be stand all time.

 

Git is distributed system, not centralized. People can access the system when there is no internet connection. When they connect the server, changes are sent to the system. It provides great flexibility to the users.


Git vs Stash