Licensed GitHub means "GitHub:enterprise
", and that also means, as explained in the article "Migrating from GitHub:FI": no custom hooks allowed.
(See also "How can I add a custom git hook to a GitHub Enterprise repo?")
So I would approach this differently, and maintain not one repo on that server, but two repos (the second being a clone of the first).
Everyone can push to the first one, but only a selected user can push to the second one, which allows him/her to select from the first repo what is eligible to be pushed to the second.
So the 'repo2
' represents your 'master
' in a way, while 'repo1
' represents any other branch that all the other users can push to.
This is a bit similar to this GitHub gist article.
I suggest separating the release engineering team into their own organization.
The developers will have to fork all of the repositories residing in the release engineering team.
The developers will be able to commit to master
within their organization.
They must send pull requests in order to get their commits into the release_engineering
organizations.
Note: It will take some time to convince the customer that committing to the master
branch of acme_developers/foobar
is distinct from committing to the master
branch of acme_release_engineering/fooba
.