编辑:我试图在这里实现的目标可以通过Yeoman项目来完成。
于是我在私服上设置了git+composer+satis,一切正常,我真的很热心。必须爱他们所有人。
我将 git 用于项目和私有包,所以现在基本的工作流程如下所示:
git clone git@myserver:the-project-name
composer install
这将克隆项目 repo,并安装所需的依赖项。极好的。
但我也希望能够使用一些'skeleton-repos'并将它们的内容复制到我的项目中,保留依赖信息。
举个例子:
- 我创建了一个名为:test-project 的 git repo,然后在本地克隆它。
- 我有另一个 git repo,称为 fb-bootstrap,它是 facebook 应用程序的骨架。
- 我还有另一个引导框架 git repo,我也想包含它:例如,这将是一个 api/ 文件夹。我们称之为:api-bootstrap
- 所以我也想克隆它们,但我当然不能这样做,因为我已经在同一个目录中有一个 git repo。
- 一个可能的解决方案:我使用以下代码,所以我只获取文件:'git archive --format=tar --remote=git@myserver:the-bootstrap-repos HEAD | 焦油 xf -'
这很好,但它有一个问题:我有不同的依赖项 - 不同的 composer.json 文件。- 对于 fb-bootstrap 和 api-bootstrap 存储库,所以我需要找到一种方法来安装它们。
请注意,我不为此使用作曲家,因为除了自动加载的 php 类之外,我不能将任何内容放入 vendor/ 文件夹中,因为访问权限仅限于该文件夹。
解除该限制也不能解决问题,因为如果我稍后添加依赖项并调用composer update
,我可能会丢失在引导文件夹中所做的更改。
由于上述原因,上面的子模块和唯一副本文件的破解并没有完全消除它。
概括:
我需要一个解决方案,我可以在其中包含尽可能多的引导存储库,并且在我完成它之后,我必须能够安装所有依赖项。
像这样:
- git init 一个项目仓库,
- git 在本地克隆项目仓库,
- 获取我需要的几个引导存储库的内容,
- 安装我为项目声明的依赖项,以及所有引导存储库的依赖项。
有没有办法做到这一点?
另外:如果您认为我以完全错误的方式处理此问题,请随时告诉我。无论如何,我正在适应新技术,我并不害怕变化。:)
任何评论表示赞赏。