Version control 有没有办法对整个开发环境进行版本化?

Version control 有没有办法对整个开发环境进行版本化?,version-control,development-environment,versioning,Version Control,Development Environment,Versioning,我将开始在不同的操作系统上构建库,因为它们将在不同的移动平台上运行。 是否有一种方法可以控制整个开发环境的版本,包括操作系统的版本以及所有开发工具等 我需要这些信息,以便能够从源代码上的冻结中重建具有相同结果的库,如果环境不同,则情况可能不同。这称为真正的“配置管理”问题(与简单问题相反) 大多数情况下,“配置”是记录代码及其与第三方库的依赖关系,但要真正尊重SCM背后的再现性原则,重建产品所需的工具也应该进行版本控制 这意味着您使用的不是一个“组件”(您的源存储库),而是多个组件,每个组件的特

我将开始在不同的操作系统上构建库,因为它们将在不同的移动平台上运行。
是否有一种方法可以控制整个开发环境的版本,包括操作系统的版本以及所有开发工具等

我需要这些信息,以便能够从源代码上的冻结中重建具有相同结果的库,如果环境不同,则情况可能不同。

这称为真正的“配置管理”问题(与简单问题相反)

大多数情况下,“配置”是记录代码及其与第三方库的依赖关系,但要真正尊重SCM背后的再现性原则,重建产品所需的工具也应该进行版本控制

这意味着您使用的不是一个“组件”(您的源存储库),而是多个组件,每个组件的特定标签定义了您的配置:

  • IDE(例如,您可以对完整的Eclipse目录进行版本设置)
  • 语言(您可以设置JDK目录的版本)
  • 源代码和项目信息(因为您可以添加一些)
然后,根据您的VCS工具:

  • 您使用每个组件的特定版本(ClearCase UCM、SVN external、Git子模块等)定义您的工作区
  • 您只在其中一个组件(源代码)中工作,其他组件是只读的


具体细节取决于您使用的语言、工具和代码,您可能需要将该方法与每个平台相结合,以隔离平台特定的部分(希望很小)。

我们实际上使用VMWare来实现这一结果。每一个重要的版本我们都会保留一个完整环境的快照。然后,当我们必须返回时,很容易启动图像,它就在您留下它的地方