Protected branches and required status checks
もうお済みですか!?
9月4日のことですがgithubより以下の機能がリリースされています。
- 特定ブランチへの
force push
を無効する - 特定ブランチへのマージ時にステータスチェックを必須にする(CIと連携している場合は、テストが通るまでマージできないようにできる)
これを実施することで、ある日新人が謎の空のコミットをmasterブランチにforce pushして来たり、ある日途中からJOINした人がpull reqもせずにdevelopブランチに謎コミットをforce pushして来たり、ある日とあるOSSで間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまうなんてこともなくなるんです!!!(githubを使っていれば)
あなたの隣のエンジニアが、いきなり発狂して口から泡ブクブクさせてしまうのを防ぐためにも、必要なブランチにはプロテクトをかけることをおすすめします。
設定方法
githubで任意のリポジトリページを開き、右上のはぐるまマークをクリック(設定ページへ移動)
左メニューのBranchesをクリック
設定するブランチを選択
プロテクトしたい項目にチェックを入れてSaveする
これだけです!!
あえてforce pushをやってみる
ちゃんとエラーになりましたね!
隣のエンジニアが、いきなり発狂して口から泡ブクブクしてないことも確認してください!
僕のところは大丈夫でした!
(設定後にpushできないとか言ってくるエンジニアがいたら…( ꒪﹃ ꒪)ブクブク)
最後に
force pushをプロテクトして、エンジニアの心もプロテクト
( ꒪﹃ ꒪)ブクブク