2

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

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

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

  • /项目/
  • /项目/.git/
  • /项目/共享/
  • /project/share/.git/
  • /project/share/index.html
  • /project/provision.sh
  • /项目/流浪文件

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

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

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

4

1 回答 1

0

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

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

但是,我使用您建议的更简单的解决方案,即在 app 目录中找到配置代码。我发现管理 2 个 git 存储库比我想要的更令人困惑。我的大部分配置代码仅适用于特定应用程序,因此将配置和应用程序代码保留在同一个存储库中是有意义的。

于 2014-02-14T20:55:39.837 回答