我们在工作中有三个分支
我们基于develop
开发成分支,完成后,我们将该开发合并到release
一个用于要测试的应用程序。同时,我们继续开发和合并develop
。
我们测试了一个release
,我们合并到master
。我们永远不应该直接合并到主人,我们希望自动避免人为因素事故。
是否存在使分支不兼容的git方法,因此拒绝任何将其合并为另一个的尝试?有插件还是什么?
答案 0 :(得分:4)
真正强制执行此操作的最佳方法是在接收端安装pre-receive
挂钩(即,在您的中央“推送”存储库中)。
根据https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks:
处理来自客户端的推送时运行的第一个脚本 预先收到。它需要一个正在推送的引用列表 来自stdin;如果它退出非零,则不接受任何一个。您可以 使用这个钩子做一些事情,确保没有更新 引用是非快进的,或者是对所有引用进行访问控制 他们用推送修改的refs和文件。
检查文档和.git/hooks/*.sample
中的示例挂钩,您应该能够将某些内容放在一起(即,查看作为命令行参数获得的引用,检查它们是否包含一个无效的合并,如果有,exit 1
。如果你似乎无法让它发挥作用,请告诉我们。
要了解您是否要接受合并,可以使用git log
创建广告。