Chapter 6. Source Control

For the vast majority of professional developers, source code control systems (SCCS or SCC) are a part of the landscape. Almost every serious development project relies on an SCC system to provide backups, version control, revision history, and archiving. Any source code control system (also known as version control or configuration management systems) will provide these basic features. However, very few organizations properly leverage their source control solution. A good SCC system can provide additional high-value features such as reporting, correlation with defect tracking, atomic commits, platform neutrality, and a host of others.

Not only can a good SCC system add a lot of value, but even a basic solution can be used to do much more than simply store multiple versions of the same files. If used properly, features such as branching, tagging, and merging can provide a new level of capabilities that your project and team can take advantage of.

At its most basic, the primary purpose of using a source control system is to make sure that changes to your source code take place in as orderly a fashion as possible. SCC systems help to coordinate and integrate the work of multiple developers, so that each developer can make changes freely and rely on the SCC system to coordinate their changes with the changes of other developers working on the same code. As a secondary benefit, SCC provides a historical record of all the changes that have taken place since ...

Get Code Leader: Using People, Tools, and Processes to Build Successful Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.