ブランチに対する制約の方法

GitHubのブランチに対する制約を設定することで、コードベースを保護し、誤った変更や不安定なコードのマージを防ぐことができます。保護ブランチの機能を用いて、直接のコミットやマージを制限することが可能です。設定では、プルリクエストのレビュー承認を必須にしたり、ステータスチェックがパスされることを要求することができます。これにより、定義された基準に基づいてのみ変更がブランチに適用されるため、品質を維持しながら開発を進めることが可能になります。

公式のガイダンス

この機能を使用できるユーザーについては、次を参照ください(無料版は、機能が制限されます)

設定手順

設定画面に移動

  • リポジトリ画面で、Settingsをクリックします
  • 左側Branchesメニューを選択します
  • ルールを決めたいブランチ名を入力します(最初はnewでその後は、Editで変更します)

必要な項目の設定をします

和訳

これは、リポジトリ内のブランチを保護するための設定パネルを表示しており、GitHubバージョン管理システムからのものです。表示されているオプションの詳細は以下の通りです

  1. マージする前にプルリクエストが必要: このオプションは、直接プッシュするのではなく、プルリクエストを通じてのみ保護されたブランチに変更をマージできるようにしています。これにより、レビューを通じてコードの品質を維持するのに役立ちます。
  2. 承認が必要: このオプションが選択されていると、プルリクエストはマッチングするブランチに対して一定数の承認と、変更リクエストがない状態でなければマージできません。"承認の必要な数"を指定することができ、デフォルトでは「1」と設定されています。

その他にもいくつかのオプションがあります以下のものが含まれます

  • 新しいコミットがプッシュされたときにプルリクエストの承認を無視するかどうか
  • コードオーナーからのレビューが必要かどうか
  • 最も新しいレビュー可能なプッシュの承認が必要かどうか
  • マージ前にステータスチェックがパスする必要があるかどうか
  • マージする前に会話解決が必要かどうか
  • 署名されたコミットが必要かどうか
  • リニアな履歴を必要とするかどうか
  • マージする前にデプロイメントが成功する必要があるかどうか
  • ブランチをロックするかどうか
  • 上記の設定をバイパスすることを許可しないようにするかどうか

これらの設定はリポジトリの保守性とコード品質を向上させるために有効ですが、チームのワークフローやポリシーに合わせて適切に設定する必要があります。

プルリクエストのレビュアーを指定

ブルリクエストの選択画面で、レビュアーを指定します

GitHubアカウントの種類

個人での利用は次の2つと考えてもらっていいでしょう
詳細は公式の各リンクを参照ください

GitHub Free(フリーのパーソナルアカウント)

個人アカウント用のGitHub Freeを使用すると、完全な機能セットを持つ無制限のパブリックリポジトリと、限られた機能セットを持つ無制限のプライベートリポジトリで、無制限の共同作業者と作業できます。

GitHub Freeでは、個人アカウントには以下が含まれます。

  • GitHubコミュニティサポート
  • Dependabotアラート
  • パブリックリポジトリの展開保護ルール
  • 2要素認証の施行
  • 500 MBのGitHubパッケージストレージ
  • 毎月120のGitHub Codespacesコア時間
  • 毎月15 GBのGitHub Codespacesストレージ
  • GitHub Actionsの機能:
    • 毎月2,000分
    • パブリックリポジトリの展開保護ルール
  • パブリックリポジトリ内のGitHubページ

GitHub Pro(有料版)

GitHub Freeで個人アカウントで利用可能な機能に加えて、GitHub Proには以下が含まれます。

  • 電子メールによるGitHubサポート
  • 月額3,000 GitHub Actions分
  • 2 GBのGitHubパッケージストレージ
  • 毎月180 GitHub Codespacesコア時間
  • 月額20GBのGitHub Codespacesストレージ
  • プライベートリポジトリの高度なツールと洞察:
    • 必要なプルリクエストレビュアー
    • 複数のプルリクエストレビュアー
    • 保護された枝
    • コードの所有者
    • 自動リンクされた参照
    • GitHubページ注:GitHub Pagesサイトを非公開するには、組織アカウントが必要です。さらに、組織はGitHub Enterprise Cloudを使用する必要があります。
    • ウィキ
    • リポジトリインサイトグラフ:パルス、コントリビューター、トラフィック、コミット、コード頻度、ネットワーク、フォーク注:特定のコントリビューター、コミット、およびコード頻度の洞察は、10,000コミット未満のリポジトリでのみ使用できます。

有料プランでは、無料版以上の緻密なブランチ管理ができます

まとめると、GitHubの有料プランでは、非公開リポジトリに対して以下の高度なツールと洞察を利用できます:

  • プルリクエストレビュアーの要件: 特定のレビュアーをプルリクエストの承認に必要とすることができます。
  • 複数のプルリクエストレビュアー: 複数のレビュアーを設定できます。
  • 保護されたブランチ: ブランチに対する変更を制限し、特定の条件を満たすマージのみを許可します。
  • コードオーナー: 特定のファイルやフォルダに責任者を設定できます。
  • 自動リンクされる参照: 特定のキーワードがコミットに自動的に関連リンクとして組み込まれます。
  • GitHub Pages: プロジェクトのウェブページを公開できますが、非公開にする場合は組織アカウントとGitHub Enterprise Cloudが必要です。
  • Wikis: プロジェクトのドキュメントを管理できます。
  • リポジトリ洞察グラフ: プロジェクトの活動状況を表すグラフが提供されますが、コミット数が10,000以下のリポジトリに限定される機能もあります。