VCS和SCM有什么区别?

jld*_*ger 46 version-control terminology

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

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

oli*_*bre 92

注意,SCM可以参考版本控制的不同含义:

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

  • 源代码管理源代码控制系统相同
  • 软件代码管理,但这是软件配置管理的变形
  • 源配置管理软件配置管理的含义相同,但可能更侧重于源代码而不是整个软件(设置,命令行参数,主机参数......)

我们来定义它们:

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

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


Jim*_*iel 33

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

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