我想开发一个由一个iOS
和一个Android
应用程序组成的应用程序。此外,还将有一个Web
带有 REST API 的前端和一个底层的Database
.
每个模块都会有一个开发团队,比如说,一个开发团队,一个开发团队,一个iOS
开发Android
团队Web/Db
。
我对设置的第一个想法是以下存储库:
myapp-adm ~ Project administrative stuff (e.g. FSD, project plan, ...)
myapp-ios ~ iPhone App
myapp-jvm ~ Android App
myapp-web ~ Web/Db
但是,通过这种设置,我遇到了管理模块之间依赖关系的问题。例如,所有模块都依赖于myapp-adm
FSD。此外,模块myapp-ios
和myapp-jvm
依赖于myapp-web
:
myapp-ios <- myapp-web <- myapp-adm
myapp-jvm <- myapp-web <- myapp-adm
我可以使用 Git 子模块(部分)解决这个问题,但据我所知,无法在 Git 中设置版本依赖项。对(参见[这里](http://stackoverflow.com/questions/12813250/how-to-stick-a-submodule-to-a-fix-a-tag“如何将子模块粘贴到修复标签上) ?”))?例如:
v1.0.3 v1.0
myapp-ios <------ myapp-web <---- myapp-adm
v1.0.3 v1.0
myapp-jvm <------ myapp-web <---- myapp-adm
除了利用 Git 子模块的这种潜在设置之外,我想知道是否没有另一种利用 Git 分支的“单一存储库”方法。例如:
origin/master ~ HEAD reflects production-ready state.
origin/dev-ios ~ HEAD reflects the latest iOS development changes for the next release
origin/dev-jvm ~ ...
origin/dev-web ~ ...
我在这里遇到的问题是,iOS
开发依赖于web
开发,但 Web 开发人员致力于origin/dev-web
. 对于jvm
. 所以这不是一个真正的解决方案。
或者您会建议,例如,iOS
开发团队必须不断地从 合并origin/dev-web
?
任何提示/建议表示赞赏。
干杯,/纳米