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

41

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


可以这样理解:
- 配置管理指的是在应用程序开发中管理不同环境(例如开发、测试和生产)之间的配置值、设置和属性等。 - 版本控制指的是跟踪和管理项目代码的历史记录,以便能够检查每个版本之间的变化,并且还能够回溯到早期的版本。
尽管它们的目标和实施方法略有不同,但两者都是IT开发中重要的方面。在某些情况下,配置管理也可能包括版本控制,因为配置值可能随着时间的推移而改变。

1
请查看http://www.pmchamp.com/configuration-management-system-change-management-system/和http://pmstudycircle.com/2012/01/configuration-management-vs-change-management/,这些网站与配置管理系统和变更管理系统有关。 - Pacerier
9个回答

37

版本控制是配置管理必不可少但不足以解决问题的。版本控制发生在某些中央或分布式仓库中,但它并不说明任何特定版本被部署或使用的位置。

配置管理关注如何将版本控制中的内容一致地部署到适当的位置,主要是 QA 和生产环境,但在足够大的开发操作中也包括开发人员。

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


23

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

配置管理 涵盖项目中需要管理的一切内容,包括软件、硬件、测试、文档、发布管理等。它识别每个最终用户组件并跟踪从项目开始到结束的每个建议和批准更改。

版本控制 特别应用于计算机文件,包括文档、电子表格、电子邮件、源代码等。


1
基本上,“版本控制”是控制文件的不同版本,而“配置管理”是整个“公司”的版本控制。 - Pacerier
配置管理往往是在项目或产品级别上进行,而不是在公司级别上进行。 - Thomas Owens
那么整个公司的版本控制叫什么?没有名字吗? - Pacerier
2
@Pacerier 从概念上讲,这甚至没有意义。 - Thomas Owens
1
每个项目的版本控制以及项目列表的版本控制很可能就是整个公司的版本控制。 - Pacerier

11

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

配置管理通常被称为整个过程,跟踪代码版本在哪个服务器上,服务器如何设置(以及许多地方执行此操作的安装脚本)。这是源代码进入源代码控制后发生的过程以及如何部署到服务器/桌面等的过程。


2

配置管理是一个模糊的术语。

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

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

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


1

版本控制是交付成果物的控制,而配置管理则是管理整个生产成果物的过程。配置管理涉及变更管理、项目管理等,这些通常不由简单的版本控制来管理。


1
除了以上所说的,我想推荐Bob Aiello的书《配置管理最佳实践》- http://www.amazon.com/dp/0321685865。它涵盖了软件配置管理的所有方面,包括版本控制。

0

这可能会有所帮助。

版本和配置

版本:

  • 能够维护对象的多个版本。

  • 在许多软件工程和并发工程环境中常见。

  • 合并和协调各个版本留给应用程序处理。

  • 一些系统维护版本图。

配置:

  • 配置是软件系统模块的兼容版本集合(每个模块一个版本)。

0
大致而言,版本控制意味着您可以检出任何特定版本的源代码。配置管理意味着您可以构建、部署并可能测试任何特定版本。

-2

版本控制是SCM系统的特征之一。

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

"有些版本控制系统也是软件配置管理(SCM)系统。这些系统专门针对源代码树进行管理,并具有许多特定于软件开发的功能,例如本地理解编程语言或提供构建软件的工具。但是,Subversion不是这些系统之一。它是一个通用的系统,可用于管理任何文件集合。对于您而言,这些文件可能是源代码-对于其他人来说,可能是从杂货购物清单到数字视频混音等各种文件。"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接