2012-09-24 161 views
2

对于给定的项目,我目前在Git中有两个存储库 - 一个代码库和一个包含Vagrantfile,供应脚本和任何必需资源和模板的供应库。VCS中的流浪者

的概念是,我可以克隆配置库,然后执行“无业游民了”创建VM用于特定项目。部分配置包括设置共享文件夹(配置为来宾操作系统中的web根目录),将代码库存储库克隆到该文件夹​​并更改一些设置。其结果是一个立即可用并准备开发的项目。

虽然这个系统似乎有效,但我对主机上产生的文件结构有些担心,

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

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

我能想到的唯一解决方案是出口供应库,而不是克隆它,或指向共享文件夹从供应地点,距离(如果我需要改变这带来了困难)。这些都不是理想的,所以我希望我错过了一些东西。

有没有人尝试过这样的事情,如果是的话,你可以建议一个更安全,更优雅的解决方案?不过我用的是你的建议是找到应用程序目录里面的配置代码简单的解决方案

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

+0

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

回答

0

还可以使用Git子模块解决您的问题。我发现管理2 git回购有点混乱,然后我想。我的大部分供应代码只适用于特定的应用程序,因此将供应和应用程序代码保存在相同的回购中是有意义的。