我在公司使用的一个项目,这是每一个新功能是时候已经安装一个简单的过程开发和尚未测试,它应该留在它的分支,只有当验证通过,分支可以合并回到主干。这部分工作很好,但是从现在开始第二个开发人员也在开发项目,并且由于项目中的特定数据格式。
在项目文件夹中,我们有一个“字典”文件,其中包含键=值对,但关键仅仅是一个数字(这是遗留的且无法更改)。然后这个“字典”文件中的键被用在许多其他源文件/数据文件中。通常使用键值并按顺序添加。
例
让我们在后备箱R100说,在词典中最新的条目是1000
开发一个从主干R100创建分支A,然后在该分支增加的200项字典中,字典最新条目现在为1200.开发人员A使用条目1001至1200来开发新的源文件或数据文件。
然后,Dev B从中继r100创建分支A(因为分支A未验证,所以尚未重新集成),因此此时在分支B中,词典最新条目为1000.Deb B将300在这个分支的词典中,词典的最新条目现在是1300.Deb B使用条目1001到1300来开发新的源或数据文件。
Dev完成分支验证并将其分支A合并回/重新集成到主干,没问题,干线中的字典现在与分支A相同,因此包含1200个条目。
现在的问题是,如果Dev B想从树干更新分支B(或直接将分支B合并回树干),词典文件中会有很多冲突,因为会有200具有公用密钥(1001至1200)但具有不同值的条目。目前解决冲突对于开发团队来说是烦人的而且有点痛苦。
可能的解决方案?
我原以为以下几点:
- 每次词典已经于一体的分公司,一直致力于中,开发 负责这个部门的应合并回字典到 树干。然后,当其他分支上的其他分支从主干更新他们自己的分支 时,他们将获得仅在另一分支上修改 的字典内容
- 开发人员在创建分支时一起进行通信a为词典文件分配一个范围的键,
解决方案1的问题是,在我的理解中,它打破了分支本身的隔离概念。
解决方案2的问题在于它不可靠并且效率不高。
我错过了一些东西,在这种情况下使用分支的方式是不相关的?也许字典文件不应该在分支中分支,只保留在主干(部分分支?!)?
预先感谢您对此的帮助和想法。
我喜欢第一个建议。漂亮而整洁。我认为外部应该添加到'trunk'中,并且合并到现有的分支中,并且任何新的'trunk'分支也将获得它。 –
谢谢你的建议,我会尝试下周你提到的第一个,并让你知道它是如何去的。 (在接受答案之前,我会稍等一会儿) –