我正试图摆脱我的团队发展的git子模块.最重要的原因是,当一个团队成员进行子模块的更改,但是忘记推送到源代码,但是在“根”项目中将引用推送到这个新的提交时,原点被破坏,而其他开发者得到引用不是树错误.如果有问题的开发者在回家之前推送了这个问题,那么这个不是树的参考指向在他的行李箱里的开发人员的笔记本电脑上的一个承诺.
我试图用作曲家替换git子模块.我的推理是,如果git不知道我的依赖关系,这些依赖关系不能破坏回购.我知道如何从packagist添加包,我也设法添加我们自己的git存储库到作曲家,主要是从this blog post的帮助.
问题和最后一个难题是,我们的依赖关系是我们正在积极开展的git存储库.如果我将更新推送到我们的依赖关系之一,我希望开发人员的本地副本在做一个作曲家更新时更新到这个最新版本.我最接近的是为依赖项的每个更改创建一个标签,然后使用此新标记的ID更新我的composer.json.
我想知道的是,如果有一种方法让作曲家总是检查某个分支的最新提交,或者如果这是不可能的,当我做一个作曲家更新时总是得到最新的标签.我不太在意标签,只是不想在开发过程中继续更新composer.json.
我有测试的作曲家档案:
{
"config": {
"vendor-dir": "app/vendor"
},
"repositories":
[
{
"type": "package",
"package": {
"name": "wkjagt/seagull",
"version": "1.0",
"source": {
"url": "git@github.com:wkjagt/Seagull.git",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"wkjagt/seagull": "1.0.*"
}
}
我期待1.0.*以1.0开头的最新标签,但是一旦作曲家已经有1.0.1,如果创建它就不会得到1.0.2.对此的任何帮助将非常感激.