git - 如何防止“开发”被合并到“发布”中?
问题描述
我们正在使用 GitFlow 并且有几个分支(开发、发布/x.xx 和主)。我们在发布前一周从开发创建 release/x.xx 分支。本周我们处理 2 个版本:我们进行错误修复(发布中)和开发新功能(开发中)。正常的流程是从develop创建一个分支,然后将其合并回develop,或者从release创建一个分支,然后将其合并回release。但有时开发人员会忘记这一点,不小心从开发中创建一个分支并将其合并到发布中......我们需要一些保护以防止这种意外合并。防止这种合并(开发->功能->发布)的最佳方法是什么?
我们在存储库中有 version.data 文件,它在开发和发布分支中是不同的。也许编写一些允许仅在开发中更改 version.data 的服务器端钩子可以解决问题?
我们使用 GitLab 社区版作为 git 服务器。
解决方案
有时我们从开发中创建一个功能分支,然后将其合并到发布中
由于功能分支将合并到发布中,简单的解决方案是从发布中创建它。在发布发生后,您是否将发布分支合并回开发?我想你会这样做,因为你希望你的错误修正在开发中,所以这个功能最终会找到它的方式进入开发。
您可以考虑将version.data
文件添加到 gitignore,以防止它在合并中被覆盖。
推荐阅读
- python - Pyinstaller“无法执行脚本pyiboot01_bootstrap”
- android - 底部标签栏被推离屏幕底部,直到触摸事件
- reactjs - 使用 makeStyles - useStyles() 全局抛出 'Invalid Hook Call' 错误
- symfony4 - 如何使用角色过滤表单中的 EntityType?
- python - 防止 Cassandra Query 从缓存中受益
- fortran - Fortran 子例程:如何仅在第一次调用时加载数据
- php - 具有类别/专业的自定义组件和 router.php
- python - 使用 Selenium 接受 IE 网页对话框
- assembly - 如何使用汇编制作小型二进制文件?
- express - 如何将 req.sessionID 转换为 connect.sid?