Source Code Management

Source Code Management (SCM), not to be confused with Software Configuration Management, is the management of changes to program code, configuration, and other information that is part of a software development project. Changes are typically identified by a positive integer number or a hash calculation of a change snapshot.

Build Outputs and User-Oriented Settings should not be put under version control.

I use the following SCM software: