VCS和SCM有什么区别?

时间:2010-11-08 19:49:07

标签: version-control terminology

我正在对实践中的修订控制进行一些研究,在书籍和论文中似乎有两个相同的名称:软件配置管理(SCM)和版本控制系统(VCS)。前者似乎很受软件工程师/ Java程序员的欢迎,而后者则来自系统管理员,但在外行人看来,两者都表示同样的事情。

另一方面,过去我曾将SCM解释为傀儡或cfengine。 任何人都可以在实践中直接指导我这两个术语吗?最好有具体的例子。

2 个答案:

答案 0 :(得分:75)

注意, SCM 可以引用有关版本控制的不同含义:

此外,人们可以使用 SCM 来引用其他命名:

  • 源代码管理,如 Source Code Control System
  • 软件代码管理,但这是软件配置管理的变形
  • 源配置管理软件配置管理的含义相同,但可能更关注源代码而不是整个软件(设置,命令行)参数,主机参数......)

让我们来定义它们:

  • 版本控制系统是用于管理版本的独立软件(Git ...)
  • 来源控制管理 VCS
  • 相同
  • 软件配置管理是管理软件所有变更的所有流程:开发( VCS ),交付发布( VCS ),错误跟踪,软件设置,主机/网络设置,与其他软件交互的版本/设置......

因此,仅使用首字母缩略词 SCM 令人困惑:有些人可能理解与 VCS 相同的含义,有些人可能会理解 VCS <的整个过程/ strong>只是一个方面。

答案 1 :(得分:30)

版本控制系统就是这样,提供版本控制功能的软件(Git,Subversion,TFS版本控制)都属于这一类。

软件配置管理是一个更广泛的术语,涵盖了构建,打包和部署软件所需的所有流程 - 包括版本控制系统。它本身并不是指软件。