如何禁止任何人将仓库中的dev分支合并到Master分支

禁止任何人将仓库中的dev分支合并到Master分支

包括仓库的所有者都不行

你可以通过保护分支来实现:
进入你需要设置的项目,依次选择: Settings > Repository > Protected branches
然后选择你需要保护的分支,将Allowed to mergeAllowed to push都设置成No one即可。

需要注意:这样设置之后,虽然所有人都无法push和merge了,但是项目的maintainer是有权限去修改这个配置的。

那另外一个场景如何处理呢?

不允许dev合并到其他任何分支,不仅仅是master

这个应该是无法实现的!

通过git的钩子也是无法实现的吗?

gitlab server hooks目前应该是没有相关功能,git hook有merge相关的hook,你可以去研究一下。