自动反转GitHub拉取请求合并的Bot

自动反转GitHub拉取请求合并的Bot,git,github,automation,bots,Git,Github,Automation,Bots,我想知道是否有一种可管理的方式让机器人检测GitHub存储库上的任何“合并请求”(按钮)操作,并立即强制推回到GitHub,使其看起来好像从未发生过一样 在使用git流时,我们手动合并挤压请求,以便在项目中保持非常干净的主线。然而,意外地点击“合并请求”按钮太容易了,每个月有人会这样做一两次。我们通过强制推送来逆转这一行为,使其在我们的历史中“从未发生过”,但意外合并和有人修复之间的时间越长,其他人从存储库中取出并随后手上弄得一团糟的可能性就越高。所以是否有任何现有的解决方案或几乎现有的解决方案

我想知道是否有一种可管理的方式让机器人检测GitHub存储库上的任何“合并请求”(按钮)操作,并立即强制推回到GitHub,使其看起来好像从未发生过一样


在使用git流时,我们手动合并挤压请求,以便在项目中保持非常干净的主线。然而,意外地点击“合并请求”按钮太容易了,每个月有人会这样做一两次。我们通过强制推送来逆转这一行为,使其在我们的历史中“从未发生过”,但意外合并和有人修复之间的时间越长,其他人从存储库中取出并随后手上弄得一团糟的可能性就越高。所以是否有任何现有的解决方案或几乎现有的解决方案可以让机器人运行在像Heroku这样的地方来实现这一点?显然,99.999%的正常运行时间是不必要的,因为我们的回退只是我们当前采取的手动步骤。

也许最好不允许合并,而不是恢复合并

    • 选择“合并前要求状态检查通过”
    • 选择(创建)总是失败的状态检查

机器人应该如何区分意外合并和有意合并?点击GitHub的“合并请求”按钮都是意外的。i、 e.任何使用GitHub内置的“合并请求”功能的行为都应该被撤销。我们改为手动合并分支。因此,我认为合并提交的消息中有一些标准文本。这是真的吗?它们似乎都以“合并请求”消息开头。但这是一个混乱的历史,因为他们故意做了一个
-没有ff合并
,即使这是可能的。我一直认为,任何解决方案都可以通过GitHub API来实现,而不是通过删除git提交消息来实现。这可能会涉及某种类型的钩子,限制该消息的提交。