对于我们的项目,我们使用 Github 的 branch protection对所有更改强制执行至少 1 个审阅者,管理员也不异常(exception)。
然而,当我们需要紧急修复时,总有一天会到来。这将需要快速 merge 一个分支,这只有在其他人在附近进行审查时才会发生。但是如果周围没有人会发生什么?
我们需要绕过代码审查要求。
我们可以在 merge 时暂时禁用代码审查要求,但这是不可取的,因为无法了解何时完成,这是一个仅适用于管理员的解决方案。
我想要一种可审计的方式来做到这一点。对此的常用术语是“碎玻璃”,即。您正在打破玻璃并进行紧急 merge 和部署,因为这是紧急情况,并且没有人在附近检查您的代码。
有没有人想出一种方法来在 Github protected 分支上实现这一目标?
最佳答案
在我工作的地方,我们使用名为 Github Organization Manager 的程序管理我们的分支保护。 ,它基本上使用单个 git 存储库中的文件来管理我们存储库的设置。这允许在不授予管理员访问权限的情况下公开设置(并且组织者工具不允许用户执行诸如公开存储库或删除它们之类的操作)。还有其他类似的工具。
除了类似的事情,或者简单地授予用户对存储库的管理员访问权限之外,Github 没有内置的方法。如果您真的很担心,那么使用 Github API 构建“打破紧急情况”仪表板或 slackbot 并不会太困难,这些仪表板或 slackbot 可以删除分支保护甚至直接 merge pull 请求。
关于git - 是否能够 "break glass"并绕过 Github 分支保护以进行紧急修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64998944/