FUNDAMENTALS OF VERSION CONTROL SYSTEM

Version Control System is a system or category of software tools that helps a software developer/team record changes or manages to set of source code or files over time.

In software Engineering, version control is a class of systems responsible for managing changes to computer programs, document, large web files, or other collections of information . Definition by Wikipedia.

The main types are

  • Local Data Model
  • Centralized Version Control System(CVCS)
  • Distributed Version Control System (DVCS)

Difference Between Centralized and distributed Version Control System

  1. Centralized Version Control System has only one single repository which is the server while in Distributed Version Control System(DVCS),all developers or clients have access to the copy of the entire history or version of the source codes in their local server.
  2. Distributed Version Control System(DVCS) allows you work offline and you have the entire history of the codes in your local server but that is not the case of a Centralized Version Control System(CVCS)
  3. In DVCS, if the main server goes faulty or crashes, you can still get the backup or your entire code history from your local repository while in CVCS, there is just a single remote server which has entire code history.

    Importance of Version Control System

  1. It allows you to identify differences, work on source code and merge the changes if need be prior to commiting it.

  2. During troubleshooting, you are able to easily compare different versions of files or source codes for future references

  3. It backs up automatically all changes made to source codes or files.

    List of some of the most used software for version control

I will recommend GIT!!!!