我正在处理一个项目,其中使用了来自一个开源项目的代码。其中一个要求是尽可能将代码推回上游。
远程项目正在使用Subversion(不太好用)。
我的当前设置如下:
[Remote SVN] (git svn fetch)-> [My public Git] <-(push/pull)-> [My dev. Git]
VV
(pull)
VV
[Testing grid]
编辑于11.7- 重新阐述问题。
我的问题是本地公共存储库和svn上游的共存。
我必须提供3个公共分支:
- 保守稳定版
- 实验稳定版
- 开发版
这些分支现在是线性的(开发变成实验稳定版,实验变成保守),但目标是使用合并的标准三头方法。由于它们是公共的,所以我不能将这些分支rebase。
现在与此完全不相关,我正在尝试以某种方式使发送补丁到上游更容易。从我的分支中挖掘出来很慢,也容易出错。
我的典型当前工作流程如下:
- 在开发分支之上实现一些功能
- 测试和修复功能
- 测试和修复其他受新功能影响的功能(实际上经常发生)
- 确定是否可以接受上游或不接受上游的内容(30:60是:否)
- 采取行动(我通常只写一个新的TODO)
上游的另一个问题是他们将补丁接受到不同的分支中(我的公共分支基于他们的稳定分支)。一旦补丁到达稳定分支,我就可以简单地忘记它们的存在,但在此之前,我仍然需要将它们保留在本地。