gitを使った開発において、masterやdevelopブランチにはpush禁止とし、開発者は各々トピックブランチを生成してからのpull requestを原則とする運用方式があります。 その場合、 特定のブランチへのpushを制限する 必要があります。 例えば gitlab でも大枠の制限は設定で可能ですが、細かい制御についてはフックスクリプトを利用する形になります。 ここでは push可能なユーザを制限するフックスクリプト について説明します。 1.git接続時の環境変数設定 フックスクリプト上でユーザを扱えるように、git接続時に環境変数を設定します。 sshの設定でPermitUserEnvironmentを許可してデーモンを再起動します。
![gitでpush可能なユーザを制限する - dosandbox](https://cdn-ak-scissors.b.st-hatena.com/image/square/6507227f4946394d1c12d6915a2d380adb842392/height=288;version=1;width=512/http%3A%2F%2Fwww.dosancole.com%2Fimages%2F2013-11-24-git.png)