LoginSignup
0
1

リポジトリ管理者はapproveなしでマージできるようにしようとしたら少しハマった話

Last updated at Posted at 2023-12-10

はじめに

個人開発用のリポジトリを作成し、Branch protection ruleを設定していた時の話です。
設定項目が間違っており、意図した挙動になっていなかったのを解消しました。

やりたかったこと

リポジトリ管理者(CODEOWNERS)は、approveなしでマージできるが、それ以外の人はapproveなしでマージできないようにしたい」です。

設定方法

まず最初にどのようなBranch protection ruleを設定すれば、実現できるかを記載します。
その後に、自分がなぜハマったのかを書いていきます。

意図した挙動になる設定

Branch protection ruleで設定した項目は以下の通りです。

  • Require a pull request before merging
    • Dismiss stale pull request approvals when new commits are pushed
    • Require review from Code Owners

必要な設定は以上で十分でした(CODEOWNERSファイルは後で追加しています)。

余計に設定したことで意図しない挙動になった項目

Require approvals

リポジトリ管理者なら突破できると思い込んで設定していましたが、この設定によってリポジトリ管理者でもマージできなくなりました。

Lock branch

Branch is read-only. Users cannot push to the branch.

という説明を流し見して、設定されたブランチに直プッシュできなくするだけだと思い込んでました。
Branch is read-only.とあるのでマージもできなくなりますよね、と。

終わりに

この辺りを普段触らないので、予想以上に原因特定に時間がかかりました。
最終的にやりたいことができたのでよかったです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1