O termo gerenciamento de configuração pertence ao vocabulário geral de engenharia.
Seu objetivo é manter um registro das características de todas as partes / componentes de um sistema complexo (por exemplo, um carro, um míssil, um dispositivo eletrônico) e, é claro, a alteração dessas características quando um componente é substituído por um componente similar. Uma configuração descreve exatamente um produto específico.
Em outras palavras, o gerenciamento de configuração é o gerenciamento de versões para produtos industriais. Permite a qualquer momento montar uma versão anterior de um produto.
No software, não existe um catálogo de peças do setor que permita identificar de forma exclusiva um software e suas versões sucessivas e encontrá-lo em algum armazém para montar (configurar) uma versão mais antiga do produto. A parte / componente do software é melhor descrita por seu código na íntegra. Portanto, o gerenciamento da configuração do software significa gerenciar as versões do código fonte. É por isso que o termo gerenciamento de configuração de software é usado para gerenciamento de versão do código-fonte.
Observe, no entanto, que o SCM é maior que apenas a versão do código-fonte. Também pode incluir o gerenciamento de dependências externas (por exemplo, bibliotecas ou estruturas de terceiros com versões gerenciadas em outro local), recursos externos (por exemplo, binários ou dlls de terceiros ou definições de API para interoperar com sistemas externos), bem como ativos digitais (por exemplo, imagens ou vídeos a serem pacotes com o produto final).