こんにちは。オガリア開発チームの粂です。
弊社ではGitによりソースコード管理していますが、フロントエンドツールとしてSourceTree、ホスティング先としてBitbucketを利用しています。
ご存知の方も多いかもしれませんが、Bitbucketでmasterブランチにpushできるユーザあるいはグループを制限する方法を最近覚えました。
せっかくなのでブログに書いておこうと思います。
1. 対象のリポジトリのURLを開く(そのリポジトリの管理者でログインしておく)
2. 設定画面を開く(r と a を続けてタイプすれば画面遷移可能)
3. Branch management のメニューをクリックする
4. Limit pushes to specific users and groups で対象のブランチ(ここではmaster)とそのブランチにpush可能なユーザあるいはグループを入力してAddする
これでOKです。
弊社の場合、リポジトリの所有ユーザをAdministratorsグループにして、開発エンジニアのユーザはDevelopersグループに入れており、masterにpushできるのはAdministratorsグループのみと設定しています。
上記のようにすることでトピックブランチ上でのcommit, push, pull requestなどは開発エンジニアが自由にやりつつ、masterへのmergeはリポジトリ所有ユーザの責務とすることでオペミスを極力減らすようにしています。
さらにmasterブランチに関しては、Prevent deletion of these branches と Prevent history re-writes (rebase) on these branches にも追加しています。
これでmasterブランチの削除とrebaseを禁止することができます。
最後までお読みいただきありがとうございました!