Version Control Systems (VCS)
- This is a source code repository which stores code and also the history which represents
- the changes done
- who has done it
- when it was done
- Generally Version Control Systems are designed for multi users.
- Any VCS will have repositories which developers(users) will get a copy or equivalent to copy in their local workstation
- They get or make changes from/to VCS

Generations of Version Control Systems
- Client Server:
- Examples:
- Subversion
- TFS
- ClearCase
- Perforce
- Examples:
- Distributed
- Examples:
- Mercurial
- Git
- Examples:
Basic Design of Git
- In Git every one (client, server) have repositories
- IF you have to create a server you need to install same software as client (git) and for server features (USer management, Connectivity) you can install additional components

Problem:
- I have a huge room full of books, i want to send them to new home.

