Version Control
Defintion "A version control system, or VCS, tracks the history of changes as people and teams collaborate on projects together. As developers make changes to the project, any earlier version of the project can be recovered at any time." -Github
Purpose: The purpose of a version control system is to provide a historical log of any commits made on the code and to provide an enviroment that faciliates group collaboration
Benefits: Detailed log of any changes made to the code including who made a change and what changes were made Allows groups to work on the same code Allows revisting previous code commits Provides branching option, which allows for working and testing without it effect everyone else
Types of Version Control Systems: Centralized: A central copy of the code and certain parts of the code are "checked out". Which means that certain parts of the code can only be worked on by one person at a time.
Distributed: Every person has a local copy of the code, which means that any part of the code can simultaneously worked on, git for example.