我正在尝试在项目中开发分支结构,我们为每个发布的环境(QA,Staging,Production)发布分支。我用它们特定于环境的文件/代码创建了这3个分支。我的计划是将开发中继中的更改合并到这些发布分支,但我不想覆盖特定于环境的文件/代码。我可以简单地“锁定”这些文件,以防止在我合并到发布分支时更新这些文件吗?
可能我们的发布工作流程有更好的方案......如果我走错了路,请告诉我。
谢谢!
答案 0 :(得分:1)
我不想说你走错了路,但我建议你重新考虑一下。合并需要时间,并且是引入错误的机会。我认为你可以更好地建立你的发布一次,并通过开发/测试/阶段和最终生产来推广它。
这也可以更轻松地跟踪更改和文件缺陷。
你没有提到你正在使用的语言/工具/平台...这需要做一些工作来从发布中抽象配置 - 或者在初始构建期间为所有环境构建配置并配置部署/安装以使用适当的配置用于当前环境。
现在直接回答你的问题 - 当你进行合并时,没有一种好方法来“锁定”文件。您可以使用基于路径的授权或阻止用户检查它们的钩子脚本来执行此操作...这将要求他们在提交之前还原受影响的文件。这似乎可行,但在trunk上添加一个新的配置元素并且你真的想将它合并到测试分支只是时间问题。