【问题标题】:What's the difference between VCS and SCM?VCS和SCM有什么区别?
【发布时间】:2011-05-06 20:37:55
【问题描述】:

我正在对实践中的版本控制进行一些研究,在书籍和论文中似乎有两个相同的名称:软件配置管理 (SCM) 和版本控制系统 (VCS)。前者似乎在软件工程师/Java 程序员中很流行,而后者在系统管理员中很流行,但在外行看来,两者的含义相同。

另一方面,过去我将 SCM 解释为 puppet 或 cfengine 之类的东西。 任何人都可以在实践中直接说明这两个术语吗?最好有具体的例子。

【问题讨论】:

  • 我认为您在混合首字母缩写词,我相信您的意思是源代码管理,而不是软件配置管理,在这种情况下没有区别,只是同一事物的两个不同名称。 google.com.au/search?q=define:scm
  • @Matthew - 很可能就是这种情况。
  • 另一方面,这家伙相当受人尊敬并使用软件配置:scmpatterns.com/book
  • 我认为缩写 SCMVCS 更受欢迎的一个主要原因是:VCS 很容易与CVS(并发版本系统)。

标签: version-control terminology


【解决方案1】:

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

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

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

让我们定义它们:

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

因此,仅仅使用缩写SCM是令人困惑的:有些人可能理解与VCS相同的含义,有些人可能理解VCS 只是一个方面。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      相关资源
      最近更新 更多