git 配置hooks ,防范某些分支合并

现在想配置hooks,防止一些release分支合并到自己的feature分支,团队人多,需要做个防范,网上找了一些配置不好使。有没有大佬给个实例?想在本地配置一个hook

阅读 4.1k
3 个回答

本地 hooks 能力有限啊,公司用的 gitlab-ce 作为代码仓库,选择使用 git-flow 作为工作流,当时我用 php 在 gitlab-ce 的服务端加了钩子,主要是为了限制

  • 非同源 feature 分支不允许合并,这是为了避免非同源 分支合并出现冲突,解决冲突选择错误导致后续提交的自动合并异常
  • feature 合并 develop 时,必须使用 fast-forward 方式,确保 feature 合并前,至少本地已经解决了冲突并至少做了一些测试(这个是我们自定义的要求)
  • 同一时间,只能有一个 release 和 hotfix 分支存在,且 release 和 hotfix 只接受来自于自身分支检出分支的合并,不允许非同源点的分支相互合并.

还有一些其它的细小的规范,不过后来由于 gitlab 升级了 api 版本,以及习惯养成之后,也就没有继续做强制限制了.
其实写起来还是比较艹蛋的,有些判断必须要做历史回溯,如果你们选择的合并方式是直接 merge,那么回溯会异常复杂.如果合并方式是 fast-forward,回溯还会简单一些.
我找找看还能不能找到之前写的脚本

新手上路,请多包涵

楼主有解决方案嘛? 我目前也遇到这个问题了 一样的

用husky写 hook 是不是可以?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题