概述
我有一个项目是对现有 FOSS 产品的定制。它达到了我们维护长期分叉而不是应用新插件等的地步。我想要一些关于维护这个项目的最健全的工作流程可能是什么的输入。
标准
- 我们应该能够轻松地向上游发送拉取请求/补丁
- 该项目需要从标记的版本中进行跟踪,并且可能会作为我们自己的发布工作流程的一部分更新到较新的版本。
- 需要有自己的标记版本
- 需要有自己的分支结构,用于类似 git-flow 的开发过程。
选项1
只需在 github 上 fork 项目即可。维护和让人们加快速度超级混乱。失败 3,4。
选项 2
创建一个新的存储库,让项目维护人员根据需要拉入上游代码库的标记版本。例如git fetch upstream; git merge upstream/sometag tagintegrationbranch
不确定如何在此模型中轻松地将修复推送到上游。有点失败 1。
选项 3
分叉上游项目,将其用作选项 2 中的上游。用作 PR 系统的助手。根据功能/错误分支的管理情况,可能需要进行樱桃挑选或一些类似的微管理来推动代码备份此工作流程,但应该相当干净。似乎满足大多数标准。
选项 ?
我没有考虑过的东西?