Version control provides team members with three constructs to manage changes to software components:
These constructs help the team to achieve two goals that are desirable in a team programming environment:
Editions and versions also allow developers to reload a previous version of their work. The capability to load previous versions is desirable in the case that, for example, work on the current edition of a component reaches a dead end.