VCS内的流浪者

时间:2012-09-24 14:40:37

标签: git version-control virtualization vagrant

对于给定的项目,我目前在Git中有两个存储库 - 一个代码库存储库和一个包含Vagrantfile,配置脚本以及任何所需资源和模板的配置存储库。

这个概念是我可以克隆配置存储库并运行“vagrant up”来为该特定项目创建VM。部分配置涉及设置共享文件夹(配置为来宾操作系统中的Web根),将代码库存储库克隆到该文件夹​​中并更改一些设置。结果是一个可以立即访问并准备开发的项目。

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

  • /项目/
  • /project/.git /
  • /项目/共享/
  • /project/share/.git /
  • /project/share/index.html
  • /project/provision.sh
  • /项目/ Vagrantfile

...等等。通过克隆我的配置存储库,然后将代码库存储库克隆到共享文件夹中,我创建了一些问题。我已将'share'文件夹添加到我的配置存储库中的.gitignore文件中,但我不确定是否会遇到任何问题(我已经注意到我的IDE中存在一些问题)。

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

之前有没有人尝试过这样的事情?如果是这样,你能否提出一个更安全,更优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

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

http://git-scm.com/book/en/Git-Tools-Submodules

但是,我使用了一个更简单的解决方案,您建议在app目录中找到配置代码。我发现管理2 git repos比我想要的更混乱。我的大多数配置代码仅适用于特定的应用程序,因此将配置和应用程序代码保留在同一个仓库中是有意义的。