我们的工作流程中有三个主要分支。
TEST(实验性)、RELEASE(下一个版本的功能)和 MASTER(仅发布)
我们从 RELEASE 中获取特性分支,首先将特性分支合并到 TEST,如果它们没问题,将那些批准的特性分支合并到 RELEASE。
我的问题是:由于 TEST 分支包含一些我们永远不会发布的提交/功能,我们不希望它错误地(或有意地)合并到 RELEASE 或 MASTER 中。
我在某处读到,阻止本地存储库中的合并是不可能或不可行的,我认为这不会解决我的问题。
因此,当新的引用在其提交日志中包含 TEST 分支的特定提交 ID 时,最好防止更新主存储库中的 MASTER 或 RELEASE 分支引用(通过推送到源)。
所以我将只对 TEST 分支进行特定的提交,并记录其提交 ID。
每当有人想要推送到 master 或 release 分支时,我会检查该推送是否会将我的 refs/heads/master 或 refs/heads/RELEASE 更新为在其历史记录中包含错误提交 ID 的提交 ref 并中止。
由于我不是 BASH 或 GIT 大师,有没有人有这样的更新钩子可以应用到我们的主存储库?