1

我想强制所有对 master 的提交都来自拉取请求。如果不是通过拉取请求提交,我们不希望直接提交给 master。

有没有办法做到这一点?例如,这可以通过服务器挂钩来实现吗?

4

2 回答 2

1

你可以 - 见https://help.github.com/articles/about-protected-branches/ 它适用于公共回购,如果你为 GH 付费,也适用于私人回购。

于 2019-01-08T13:03:33.147 回答
0

我想,你想要 github 拉取请求的这种行为!由于 github 不提供服务器端钩子,因此您必须在您自己的机器上完成它!

如果您将 github 拉取请求应用于您的存储库,则可能会发生快进。由于您不希望这样,您应该执行以下操作:

  1. 添加一个新的远程(具有拉取请求提交的存储库)
  2. 获取新的遥控器
  3. 合并相应的分支--no-ff
  4. 将其推送到您的 github 帐户。

这将确保您的主人只有合并,即使可能有快进。之后您可以移除遥控器。

如果您与其他人共享您的存储库(公共写入访问权限),您将无法强制执行此操作。但无论如何,我不会允许其他人访问我的存储库!


如果你想确保没有人能够提交到 master 分支(在存储库的每个 fork/clone 上),你应该编写一个钩子(客户端),它检查分支并在分支是 master 时中止提交。请注意,默认情况下,每个用户都必须自己启用钩子,并且每个用户都可以在不运行钩子的情况下进行提交!

于 2013-10-24T08:27:00.290 回答