语境
我在我公司的项目中使用时设置了一个简单的流程,即每次新功能正在开发中且尚未测试时,它应该保留在其分支中,只有通过验证后,才能将分支合并回来到后备箱。这部分工作得很好,但由于项目中的特定数据格式,现在第二个开发人员也在从事该项目。
在项目文件夹中,我们有一个“字典”文件,其中包含键=值对,但键只是一个数字(这是遗留的,无法更改)。然后这个“字典”文件中的键被用于许多其他源文件/数据文件。通常,键值是按顺序使用和添加的。
例子
假设在 r100 后备箱中,字典中的最新条目是 1000。
开发者 A 从主干 r100 创建分支 A,然后在这个分支中添加 200 个词条到字典中,字典的最新词条现在是 1200。开发者 A 使用词条 1001 到 1200 来开发新的源文件或数据文件。
然后开发者B从主干r100创建分支A(因为分支A没有被验证它还没有重新集成),因此此时在分支B中,字典最新条目是1000。开发者B在字典中添加了300个条目在这个分支中,字典的最新条目现在是 1300。开发 B 使用条目 1001 到 1300 来开发新的源文件或数据文件。
开发 A 完成分支 A 验证,并将其分支 A 合并回/重新集成到主干,没问题,主干中的字典现在与分支 A 相同,因此包含 1200 个条目。
现在的问题是,如果开发人员 B 想从主干更新分支 B(或将分支 B 直接合并回主干),字典文件中会出现很多冲突,因为会有 200 个具有公共键的条目(1001 到 1200)但不同的值。在这个时候解决冲突对开发团队来说很烦人,也有点痛苦。
可能的解决方案 ?
我想到了以下几点:
- 每次在一个分支中提交字典时,负责该分支的开发人员应将字典合并回主干。然后当其他分支上的其他开发人员从主干更新他们自己的分支时,他们将只在另一个分支上修改字典内容
- 开发人员在创建分支时一起进行通信,并从字典文件中为自己分配一系列键,
解决方案 1 的问题是,在我的理解中,它稍微打破了分支本身隔离的概念。
解决方案 2 的问题是它不可靠且效率不高。
我错过了一些东西,在这种情况下使用分支的方式无关紧要吗?也许字典文件不应该在分支中分支,而只保留在主干(部分分支?!)?
提前感谢您对此的帮助和想法。