Version control 配置管理和版本控制之间的区别是什么?

Version control 配置管理和版本控制之间的区别是什么?,version-control,configuration-management,Version Control,Configuration Management,有人能简单地解释一下配置管理和版本控制之间的区别吗?从我在各种网站上找到的描述来看,配置管理似乎只是将配置文件放入源代码管理存储库的一个花哨术语。但其他人让我相信还有更复杂的解释 版本控制是保存文件并保留不同版本的文件,以便您可以看到随时间的变化 配置管理通常被称为一个整体过程,它跟踪服务器上的代码版本、服务器的设置方式(以及在许多地方执行此操作的安装脚本)。这是代码进入源代码管理后发生的事情的处理过程,以及如何部署到服务器/桌面等。配置管理包括但不限于版本控制 是您在项目中需要管理的一切。这包

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

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


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

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

是您在项目中需要管理的一切。这包括软件、硬件、测试、文档、版本管理等。它识别每个最终用户组件,并跟踪从项目第一天到项目结束的每项拟议和批准的更改


特别适用于计算机文件。这包括文档、电子表格、电子邮件、源代码等等。

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

版本控制对于配置管理来说是必要的,但还不够。版本控制发生在一些中央或分布式存储库中,但没有说明在何处部署或使用任何特定版本

配置管理担心如何将版本控制中的内容一致地部署到适当的位置,主要是QA和生产,但也要部署到足够大的开发操作中


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

版本控制是对可交付成果的控制,而配置管理是管理导致交付成果的整个过程制作可交付成果。配置管理涉及变更管理、项目管理等,通常不通过简单的版本控制进行管理。

除了上述内容之外,我还想推荐Bob Aiello的《配置管理最佳实践》一书。
它涵盖了软件配置管理的所有方面,包括版本控制。

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

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

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


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

版本控制是SCM系统的功能之一

从subversion用户指南:

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

版本和配置

版本:

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

  • 常见于许多软件工程和并行工程环境中

  • 各种版本的合并和协调由应用程序完成

  • 有些系统维护版本图

配置:

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

谢谢你的详细回答。所以基本上,“版本控制”是控制文件的不同版本,而“配置管理”是整个“公司”本身的版本控制。@Pacerier配置管理往往在项目或产品级别,而不是公司级别。那么整个公司的版本控制叫什么?没有这个名称?@Pacerier从概念上讲,这甚至没有意义。每个项目的版本控制以及项目列表的版本控制可能是整个公司的版本控制。请参阅和