ブランチの概要
ブランチは以下の目的で利用してください。
- 機能の開発
- バグの修復
- 新しいアイデアの安全な実験
ブランチは常に既存のものから作成します。 通常、リポジトリの master
ブランチから作成します。 その後、他の人がリポジトリに加えた変更とは別に、新しいブランチで作業できます。 機能を構築するために作成するブランチは、通常、フィーチャブランチまたはトピックブランチと呼ばれます。 詳しい情報についてはリポジトリ内でのブランチの作成と削除を参照してください。
また、GitHub Pagesサイトを公開するためにブランチを使うこともできます。 詳しい情報についてはGitHubPagesと何か?を参照してください。
ブランチの作成、プルリクエストのオープン、プルリクエスト中でのブランチの削除とリストアを行うためには、リポジトリへの書き込みアクセスを持っていなければなりません。 オーナーあるいは管理者アクセスを持っているリポジトリでは、デフォルトブランチを変更できます。 詳しい情報についてはGitHub Enterpriseでのアクセス権限及びリポジトリ内のブランチの管理を参照してください。
ブランチを使用する
満足の行くところまで作業したら、プルリクエストをオープンして、現在のブランチ(head ブランチ)の変更を別のブランチ(base ブランチ)にマージできます。 詳しい情報についてはプルリクエストについてを参照してください。
プルリクエストがマージまたはクローズされた後、head ブランチは不要になり削除できます。 ブランチを削除するには、リポジトリへの書き込みアクセスが必要です。 オープンなプルリクエストに直接関連付けられているブランチは削除できません。 詳しい情報については「プルリクエスト中のブランチの削除と復元」を参照してください。
保護されたブランチでの作業
リポジトリ管理者は、ブランチの保護を有効化できます。 保護されたブランチで作業しているなら、ブランチを削除したり、ブランチにフォースプッシュしたりすることはできません。 リポジトリ管理者は、保護されたブランチの他の設定を有効化し、ブランチがマージできるようになる前に様々なワークフローを適用できます。
ノート:リポジトリ管理者は、ブランチの保護で"Include administrators(管理者を含む)"が設定されていなければ、要求を満たしていないプルリクエストを保護が有効化されたブランチにマージできます。
プルリクエストがマージできるかを調べるには、プルリクエストの Conversation(会話)タブの下部にあるマージボックスを見てください。 詳しい情報については保護されたブランチについてを参照してください。
ブランチが保護されていると、以下のようになります。
- ブランチの削除やブランチへのフォースプッシュはできません。
- ブランチでステータスチェック必須が有効化されていると、必要なCIテストがすべてパスするまで、変更をブランチにマージできません。 詳しい情報についてはステータスチェックについてを参照してください。
- ブランチでプルリクエストレビュー必須が有効化されている場合、プルリクエストレビューポリシー中のすべての要求が満たされるまでは、ブランチに変更をマージできません。 詳しい情報についてはプルリクエストのマージを参照してください。
- ブランチでコードオーナーからの必須レビューが有効化されており、プルリクエストがオーナーを持つコードを変更している場合、コードオーナーがプルリクエストを承認しなければ、そのプルリクエストはマージできません。 詳細は「コードオーナーについて」を参照してください。
- ブランチでコミット署名必須が有効化されている場合、署名および検証されていないコミットはブランチにプッシュできません。 詳しい情報については、「コミット署名の検証について」および「必須のコミット署名について」を参照してください。
参考リンク
- プルリクエストについて
- GitHub 用語集中のブランチ
- Gitのドキュメンテーション中のブランチの要約