🐙
「mainブランチにpushしちゃいました・・・」
何が起きたか
あるメンバーがGitHubのmainブランチに変更をpushしてしまったようです。
最初にこの話を聞いたとき、mainブランチは保護されているはずだから、何かの勘違いではないかと思いました。
しかし、実際に確認してみると、GitHubのmainブランチに確かに変更が加えられていました。どうしてこんなことが起きたのか・・・
原因
この問題は、リポジトリに対して Admin ロールが全メンバーに付与されており、さらにBranch protection rulesで Do not allow bypassing the above settings にチェックが入っていなかったために発生しました。
保護されたブランチには誰もpushできないというのは私の思い込みでした😇
実際には、 Admin ロールには保護されたブランチへのpush権限があることが明記されていました・・・
Permissions for each role
対応
-
Do not allow bypassing the above settings
にチェックを入れる
Settings > Branches > ブランチ名 Edit
から設定できます。
これにより、誰も保護されたブランチにpushできなくなります。
Settings > Branches > ブランチ名 Edit
-
リポジトリロールを見直す
Settings > Collaborators and teams
からチームやメンバーのリポジトリロールを変更できます。
不要なAdminロールは削除しておきましょう。
Settings > Collaborators and teams
まとめ
非常に小さな事故で済み、設定を見直す良い機会を与えてくれたメンバーには感謝します🙏
皆さんもこの機会にリポジトリロールや保護されたブランチの設定を見直すことをおすすめします!
参考文献
Discussion