Git 风投中的流浪汉

Git 风投中的流浪汉,git,version-control,virtualization,vagrant,Git,Version Control,Virtualization,Vagrant,对于一个给定的项目,我目前在Git中有两个存储库—一个代码库存储库和一个配置存储库,其中包含一个文件、配置脚本以及任何必需的资源和模板 其概念是,我可以克隆资源调配存储库并运行一个vagrant up来为该特定项目创建一个VM。配置的一部分包括在来宾操作系统中设置一个配置为web根目录的共享文件夹,将代码库库克隆到该文件夹中,并更改一些设置。结果是一个可以立即访问并准备好进行开发的项目 虽然这个系统似乎可以工作,但我有点担心主机上产生的文件结构,例如 /计划/ /project/.git/ /项

对于一个给定的项目,我目前在Git中有两个存储库—一个代码库存储库和一个配置存储库,其中包含一个文件、配置脚本以及任何必需的资源和模板

其概念是,我可以克隆资源调配存储库并运行一个vagrant up来为该特定项目创建一个VM。配置的一部分包括在来宾操作系统中设置一个配置为web根目录的共享文件夹,将代码库库克隆到该文件夹中,并更改一些设置。结果是一个可以立即访问并准备好进行开发的项目

虽然这个系统似乎可以工作,但我有点担心主机上产生的文件结构,例如

/计划/ /project/.git/ /项目/共享/ /project/share/.git/ /project/share/index.html /project/provision.sh /项目/文件 。。。通过克隆我的资源调配库,然后将代码库克隆到一个共享文件夹中,我产生了一点问题。我已将“共享”文件夹添加到我的资源调配存储库中的.gitignore文件中,但我不确定是否会遇到任何问题。我已经注意到IDE中存在一些问题

我能想到的唯一解决方案是导出资源调配存储库,而不是克隆它。如果需要更改资源调配存储库或将共享文件夹指向远离资源调配位置,这会造成困难。这两个都不理想,所以我希望我错过了一些东西


以前有人尝试过类似的方法吗?如果有,你能建议一个更安全、更优雅的解决方案吗?

你可以使用git子模块来解决你的问题:


但是,我使用了您建议的一个更简单的解决方案,即在app目录中查找配置代码。我发现管理2 git回购比我想要的更令人困惑。我的大部分资源调配代码只适用于特定的应用程序,因此将资源调配代码和应用程序代码保持在同一个repo中是有意义的

您可以使用git子模块来解决您的问题:


但是,我使用了您建议的一个更简单的解决方案,即在app目录中查找配置代码。我发现管理2 git回购比我想要的更令人困惑。我的大部分资源调配代码只适用于特定的应用程序,因此将资源调配代码和应用程序代码保持在同一个repo中是有意义的

我有另一个潜在的解决方案,一个我倾向的解决方案。我已将配置文件添加到主代码库存储库下的文件夹中,并删除了配置存储库。Vagrant/Virtualbox允许我共享包含代码库的父文件夹,因此我不再需要在配置脚本中克隆代码库;我只需克隆主存储库cd/project/vagrant并启动VM。这似乎工作得很好,而且不那么凌乱!我有另一个潜在的解决方案,一个我倾向的解决方案。我已将配置文件添加到主代码库存储库下的文件夹中,并删除了配置存储库。Vagrant/Virtualbox允许我共享包含代码库的父文件夹,因此我不再需要在配置脚本中克隆代码库;我只需克隆主存储库cd/project/vagrant并启动VM。这似乎工作得很好,而且不那么凌乱!