本地 hooks 能力有限啊,公司用的 gitlab-ce 作为代码仓库,选择使用 git-flow 作为工作流,当时我用 php 在 gitlab-ce 的服务端加了钩子,主要是为了限制非同源 feature 分支不允许合并,这是为了避免非同源 分支合并出现冲突,解决冲突选择错误导致后续提交的自动合并异常feature 合并 develop 时,必须使用 fast-forward 方式,确保 feature 合并前,至少本地已经解决了冲突并至少做了一些测试(这个是我们自定义的要求)同一时间,只能有一个 release 和 hotfix 分支存在,且 release 和 hotfix 只接受来自于自身分支检出分支的合并,不允许非同源点的分支相互合并.还有一些其它的细小的规范,不过后来由于 gitlab 升级了 api 版本,以及习惯养成之后,也就没有继续做强制限制了.其实写起来还是比较艹蛋的,有些判断必须要做历史回溯,如果你们选择的合并方式是直接 merge,那么回溯会异常复杂.如果合并方式是 fast-forward,回溯还会简单一些.我找找看还能不能找到之前写的脚本
本地
hooks
能力有限啊,公司用的 gitlab-ce 作为代码仓库,选择使用 git-flow 作为工作流,当时我用php
在 gitlab-ce 的服务端加了钩子,主要是为了限制还有一些其它的细小的规范,不过后来由于 gitlab 升级了 api 版本,以及习惯养成之后,也就没有继续做强制限制了.
其实写起来还是比较艹蛋的,有些判断必须要做历史回溯,如果你们选择的合并方式是直接 merge,那么回溯会异常复杂.如果合并方式是 fast-forward,回溯还会简单一些.
我找找看还能不能找到之前写的脚本