Please note that this picture fits primarily to Git.Other version control systems like VCS are typically used to track changes in text files.A version control system (VCS) allows you to track the history of a collection of files.It supports creating different versions of this collection.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.
A branch allows the user to switch between these versions so that he can work on different changes independently from each other.
For example, you can work independently on a branch called Branches in Git are local to the repository.
A branch created in a local repository does not need to have a counterpart in a remote repository.
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.