Pages deployment protection
Currently anyone with Developer access to a project can potentially overwrite the Pages output for that project. This is not always desirable. I propose that the Master of the project be able to restrict this if necessary by specifying which branch Pages will be built from.
Be aware that Pages are by default branch/tag agnostic and their deployment relies solely on what you specify in .gitlab-ci.yml. If you don't limit the pages job with the only parameter, whenever a new commit is pushed to whatever branch or tag, the Pages will be overwritten. - Pages Docs
This is similar to another issue I posted regarding production deployment protection. It may even be that these can both be solved with the same method.