Git和不同的流浪者文件

Git和不同的流浪者文件,git,vagrant,Git,Vagrant,我在Git存储库中有一个Vagrant项目,但是对于不同的机器需要不同的Vagrant文件。我想知道是否有一种方法可以在Git中管理Vagrant文件,而不必.Git忽略该文件并在Git之外管理它们。将Vagrant文件置于源代码管理中通常是一个非常好的主意,因为它通常是开发和/或测试环境的一部分 听起来您的问题是,每台机器都需要对Vagrant文件进行一些自定义,以使其适合其环境。这是一个常见问题—在源代码管理中管理配置文件。主要有两种方法: 对于具有一个小的、离散的配置集(例如,每个平台)

我在Git存储库中有一个Vagrant项目,但是对于不同的机器需要不同的Vagrant文件。我想知道是否有一种方法可以在Git中管理Vagrant文件,而不必.Git忽略该文件并在Git之外管理它们。

将Vagrant文件置于源代码管理中通常是一个非常好的主意,因为它通常是开发和/或测试环境的一部分

听起来您的问题是,每台机器都需要对Vagrant文件进行一些自定义,以使其适合其环境。这是一个常见问题—在源代码管理中管理配置文件。主要有两种方法:

  • 对于具有一个小的、离散的配置集(例如,每个平台),您可以将该逻辑直接放入文件中。毕竟,Vagrant文件归根结底只是Ruby代码——您可以随意在其中添加一些配置逻辑
  • 对于每个用户所特有的东西,最好通过(例如)Vagrantfile可以通过
    ENV
    读取的环境变量从环境中获取这些东西。这样,您就可以提交这个文件,只需要最终用户配置他们的环境

我会有不同的流浪汉文件,文件名后面会附加机器名。例如:
Vagrant.staging
Vagrant.development
Vagrant.production
,等等。在部署时,只需将相对的一个符号链接到Vagrant。

那么,Vagrant文件就是Ruby吗?那么,您就不能根据平台编写一些代码来更改配置吗?主机范围的通用配置可以放在~/.vagrant.d/vagrant文件中。此外,基本框还可以包含文件。全部合并。有关更多信息,请咨询。