【发布时间】:2012-09-30 16:23:39
【问题描述】:
我想开发一个由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
但是,通过这种设置,我在管理模块之间的依赖关系时遇到了问题。例如,由于 FSD,所有模块都依赖于 myapp-adm。另外,模块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 合并?
感谢任何提示/建议。
干杯, /纳米
【问题讨论】:
标签: git git-branch git-submodules