代码之家  ›  专栏  ›  技术社区  ›  friedo

配置管理和版本控制有什么区别?

  •  30
  • friedo  · 技术社区  · 15 年前

    有人能简单地解释一下配置管理和版本控制之间的区别吗?从我在各种网站上找到的描述来看,配置管理似乎只是一个将配置文件放入源代码管理存储库的花哨术语。但其他人让我相信还有更复杂的解释。

    8 回复  |  直到 12 年前
        1
  •  26
  •   Yishai    15 年前

    版本控制是必需的,但不足以进行配置管理。版本控制发生在一些中央或分布式存储库中,但对部署或使用任何特定版本的位置没有任何说明。

    配置管理担心如何接受版本控制中的内容,并将其一致地部署到适当的地方,主要是QA和生产,但在足够大的开发操作开发人员中也是如此。

    例如,您可以将所有SQL查询保持在版本控制中,包括表修改脚本,但这不控制何时将这些脚本部署到适当的数据库服务器,并与依赖该数据库结构的任何其他代码的部署保持同步。

        2
  •  19
  •   Thomas Owens    15 年前

    配置管理包括但不限于版本控制。

    Configuration management 是你在项目中需要管理的一切。这包括软件、硬件、测试、文档、发布管理等。它标识每个最终用户组件,并跟踪从项目的第1天到项目结束的每一个提议和批准的更改。

    Version control 专门应用于计算机文件。这包括文档、电子表格、电子邮件、源代码等。

        3
  •  9
  •   kemiller2002    15 年前

    版本控制是保存文件并保留它们的不同版本,这样您可以看到随时间的变化。

    配置管理通常被称为一个整体过程,它跟踪代码在什么服务器上的版本、服务器的设置方式(以及在许多地方安装脚本)。它是代码进入源代码管理后发生的事情的处理方式,以及如何部署到服务器/桌面等。

        4
  •  1
  •   Yury    13 年前

    除了上面提到的所有内容,我还想推荐BobAiello的书《配置管理最佳实践》。 http://www.amazon.com/dp/0321685865 . 它涵盖了软件配置管理的所有方面,包括版本控制。

        5
  •  1
  •   armel    12 年前

    配置管理是一个含糊不清的术语。

    在软件中,它往往是版本控制的超集,强调以可重复和可预测的方式生成结果的整个过程。

    在计算维护中,它与整个网络和一组连接的计算机(包括服务器、客户端、路由器等)的配置设置和硬件/固件/软件版本的维护有关。

    在硬件制造中,它甚至代表了以上两个的超集,包括获得产品所需的硬件和软件模块,以及制造它们的过程的描述,甚至有时还包括生产线本身的整个模式和配置。

        6
  •  1
  •   Nikana Reklawyks    12 年前

    版本控制 是对可交付成果的控制, 配置管理 正在管理整个过程,从而生成可交付结果。配置管理包括变更管理、项目管理等,一般不通过简单的版本控制进行管理。

        7
  •  0
  •   David Thornley    15 年前

    大致来说,版本控制意味着您可以检查任何特定版本的源代码。配置管理意味着您可以构建和部署,并可能测试任何特定版本。

        8
  •  -2
  •   pullo    12 年前

    版本控制是单片机系统的特点之一。

    从Subversion用户指南: http://svnbook.red-bean.com/en/1.7/svn-book.html

    一些版本控制系统也是软件配置管理(SCM)系统。这些系统是专门为管理源代码树而定制的,并且具有许多特定于软件开发的特性,例如本机理解编程语言,或提供用于构建软件的工具。然而,颠覆并不是这些系统中的一个。它是一个通用系统,可用于管理任何文件集合。对于您来说,这些文件可能是其他人的源代码,从杂货店购物清单到数字视频混合等等。”