我们有几个模块可以完成此操作,而实际上我们要做的是:
- 为模块设置一个Git存储库。
- 将此模块部署到生产站点的代码库中,并提交所有内容,包括:
- Modman创建的软链接
- .modman目录,其中包含克隆的模块存储库
- 使用modman将其“部署”到其他版本和/或dev环境中,以进行开发和测试。
这样可以为您提供模块开发所需的灵活性,也可以在单个站点上对代码进行版本控制,并且如果您在单站点代码库中对模块进行了更改,则可以将这些内容直接提交给模块存储库,因为该仓库位于.modman目录中。
更新:
当我最初写这篇文章时,我没有考虑我的回答,即Git不允许将(子)模块提交到存储库,在这种情况下,“提交所有内容”需要一些阐述!
顺便说一句,这是因为我经常使用modman来将Git仓库中的模块部署到SVN所拥有的生产代码库中,并且Subversion毫不顾忌地阻止了它将整个Git树提交给VCS。
所以这里...
如果您使用SVN来存储生产站点的代码,则应该没有问题,因为Subversion(实际上)没有子模块的概念。没关系
如果将Git用于生产站点的代码,则必须使用子模块将所有内容“提交”到站点的代码存储库。在使用modman克隆如下代码之后:
modman clone ssh://git@bitbucket.org/<user>/<repo>.git
您还希望将其添加为子模块,如下所示:
git submodule add ssh://git@bitbucket.org/<user>/<repo>.git .modman/<repo>
完成此操作后,您应该可以将.modman目录和.gitmodules文件添加到索引并提交它。
克隆使用通过modman安装的这些模块的存储库后,只需初始化子模块并更新:
git submodule init
git submodule update
PS我现在在所有新项目上全职使用Git,因此希望这种监督不会再次发生。对不起大家。;)