In a distributed version control system each user has a complete local copy of a repository on his individual computer. This copying process is typically called Every repository can exchange versions of the files with other repositories by transporting these changes.

This is typically done via a repository running on a server which is, unlike the local machine of a developer, always online.

updating firewalls-87updating firewalls-65

A version control system (VCS) allows you to track the history of a collection of files.

It supports creating different versions of this collection.

Or you may switch between versions of your files for experimental features.

The process of creating different versions (snapshots) in the repository is depicted in the following graphic.

Typically, there is a central server for keeping a repository but each cloned repository is a full copy of this repository.

The decision which of the copies is considered to be the central server repository is pure convention.In a localized version control systems it is the individual computer and in a centralized version control systems it is the server machine.Both systems make it also harder to work in parallel on different features.A Git repository contains the history of a collection of files starting from a certain directory.The process of copying an existing Git repository via the Git tooling is called _cloning.Please note that this picture fits primarily to Git.