我正在寻找有关多平台项目仓库布局/设计的策略。通常,依赖关系如下:
- 项目只有一个名称/品牌 - 每个平台都有单独的源代码 - 平台代码共享公共资源 - 设计文档和其他文档在平台之间共享
我已经尝试过以下方法(使用git):
解决方案A:
- 每个平台项目位于自己的目录中 - 所有平台的提交都进入主分支(master)
优点:
- 清晰的代码开发 - 不需要合并
缺点:
- 日志混乱,通常需要在提交日志中加上平台前缀 - 有时候撤销提交是不可能的或者非常困难/混乱
解决方案B:
- 每个平台都有自己的分支 - 发布时,在每个分支上执行变基(rebase),然后合并到主分支(master)+标记(tag)
优点:
- 清晰的日志 :) - 开发进度的清晰分离 - 冲突较少
缺点:
- 需要合并到主分支(master) - 当所有平台同时进行变基时,合并到主分支(master)会非常困难
我犹豫是否创建每个平台的仓库,因为共享资源可能会很困难,或者需要额外的、可能容易出错的任务。
期待您们的专业意见。
- 项目只有一个名称/品牌 - 每个平台都有单独的源代码 - 平台代码共享公共资源 - 设计文档和其他文档在平台之间共享
我已经尝试过以下方法(使用git):
解决方案A:
- 每个平台项目位于自己的目录中 - 所有平台的提交都进入主分支(master)
优点:
- 清晰的代码开发 - 不需要合并
缺点:
- 日志混乱,通常需要在提交日志中加上平台前缀 - 有时候撤销提交是不可能的或者非常困难/混乱
解决方案B:
- 每个平台都有自己的分支 - 发布时,在每个分支上执行变基(rebase),然后合并到主分支(master)+标记(tag)
优点:
- 清晰的日志 :) - 开发进度的清晰分离 - 冲突较少
缺点:
- 需要合并到主分支(master) - 当所有平台同时进行变基时,合并到主分支(master)会非常困难
我犹豫是否创建每个平台的仓库,因为共享资源可能会很困难,或者需要额外的、可能容易出错的任务。
期待您们的专业意见。