什么是决策树知道何时将一套相关和/或有凝聚力的应用程序拆分成git仓库和/或分支?我应该保持每个应用程序在回购?或所有应用程序的&依赖关系在单个回购?或者介于两者之间?如何将相关应用程序组织成git仓库?
答案How should I organize multiple related applications using git?声称,每个项目库是合适的,但不给的线索,有的项目会。
然后还有开发,测试,集成测试和生产检出的问题时混帐回购协议的被分割。回答how do you organize your programming work列出了一些分支/标签选项,但忽略了多应用程序的详细信息。
还有DB架构!模式的增量定义有助于,但是如果数据库跨越后端和前端应用程序,那么人们会在何处保留此定义?
一些例子我一直在琢磨:
- 前端Web应用程序,它的后端CGI/DB:一个回购还是两个?使用其他后端功能
- 一组Web后端
- 一套前端应用程序的跨依赖代码测试前端功能,份额CSS和jQuery插件
- 硒脚本 - 在前端应用程序回购或从属代码回购?
如果我想在单个应用程序上工作,检查repo目录很困难(很好,乏味和容易出错),所以我必须检查整个git树(或至少克隆整个树),这意味着git并不是真正用于将所有应用程序的依赖关系保存在一棵树中。
但是,如果我想保留每个项目(应用程序的,框架,依赖关系,文档树,CSS)在它自己的回购,然后我碰到追逐我的尾巴依赖决议,也就是说,我不知道每个应用的哪个版本是兼容的。我认为git标签是一个很好的方法,只要我可以将它们移动到保持兼容性的新版本。
当应用程序的拆分或合并 - 与重构模型经常发生降至卑劣车型 - 我可以移动的只是那些文件git的历史到另一个混帐?我看不出如何做到这一点,所以倾向于单一回购。
如果我开发跨应用程序的一个新的功能,这将是很好的分支代表的功能。
我想我要回购的的回购 - 这是否存在?