Version Control Software

Definition:

A version control software remembers all the revisions within a folder that the software is asked to track.

 

It can also split codes in a folder into two or more versions. These versions can be revised independently and be merged in the end.

 

Finally, version control software can integrate with online code storage service called “repositories” so the codes can be easily distributed to different programmers’ computers.

 

Version control software gives a programmer these advantages:

  • If new changes go wrong, she can just revert back to previous version.
  • If a programmer has two ideas to change codes, she can split the version and develop/test each version independently.
  • A project leader can distribute code to many developers. Each is responsible for developing one part of the code. Once finished the project leader can easily bring these codes together, review them, and merge them into one new version.

 

Analogy:

  • Version control software is not unlike typical “powerpoint” version control in college group projects. The software just automates and hides all the manual copy & paste effort one has to do with the .ppt files.

 

Examples:

  • Git
  • Mercurial