GitHubでmasterブランチへのダイレクトプッシュを防ぐ方法

git-flowやGitHub Flowで開発していると更新内容はmasterリポジトリにいきなりプッシュせず、別のブランチで作業してからmasterブランチに統合したいですが、操作ミスでmasterブランチにプッシュしてしまうこともあります。あらかじめmasterブランチへのダイレクトプッシュができないようにしておくことは、そんなうっかりミスを防ぐために有効な手段の一つだと思います。

masterブランチにgit pushしようとすると以下のようなメッセージを出してダイレクトプッシュを防ぐ設定がGitHubにはあります。その設定方法をメモしておきます。

2020年1月10日現在、以下の項目を有効にすると、GitHubリポジトリのmasterブランチへのダイレクトプッシュを防ぐことができます。

  • Require pull request reviews before merging
  • Include administrators

GitHubリポジトリにブラウザからアクセスし、Settings -> Branches -> Branch protection rulesを編集します。

ここで設定している内容は以下のヘルプページで紹介されています。

プルリクエストの必須レビューを有効にする - GitHub ヘルプ
リポジトリの管理者は、必須レビューを施行し、プルリクエストのマージ前に特定の数の承認レビューが必要になるようにできます。

git-flowやGitHub Flowは以下のページに概要が書かれています。

【図解】git-flow、GitHub Flowを開発現場で使い始めるためにこれだけは覚えておこう
本連載では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説しています。最終回は、幾つか存在するバージョン管理のワークフローのうち「git-flow」「GitHub Flow」の概要を解説します。

コメント