Automatic updates keeps updating same patch
which means that you can work on different versions of your collection of files.
A branch allows the user to switch between these versions so that he can work on different changes independently from each other.
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.
Nowadays it is used by many popular open source projects, e.g., the Android or the Eclipse developer teams, as well as many commercial organizations.
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.
For example, you may use a VCS to track the different versions of a png file.
A centralized version control system provides a server software component which stores and manages the different versions of the files.