ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

ブランチについて

開発作業をリポジトリ内の他のブランチに影響することなく分離するために、ブランチを使ってください。 各リポジトリには1つのデフォルトブランチがあり、複数の他のブランチを持つことができます。 プルリクエストを使えば、ブランチを他のブランチにマージできます。

ここには以下の内容があります:

ブランチについて

Branches allow you to develop features, fix bugs, or safely experiment with new ideas in a contained area of your repository.

ブランチは常に既存のものから作成します。 Typically, you might create a new branch from the default branch of your repository. その後、他の人がリポジトリに加えた変更とは別に、新しいブランチで作業できます。 機能を構築するために作成するブランチは、通常、フィーチャブランチまたはトピックブランチと呼ばれます。 詳しい情報についてはリポジトリ内でのブランチの作成と削除を参照してください。

また、GitHub Pagesサイトを公開するためにブランチを使うこともできます。 詳しい情報については「GitHub Pagesについて」を参照してください。

ブランチの作成、プルリクエストのオープン、プルリクエスト中でのブランチの削除とリストアを行うためには、リポジトリへの書き込みアクセスを持っていなければなりません。 詳細は「GitHub 上のアクセス権限」を参照してください。

About the default branch

When you create a repository with content on your GitHub Enterprise Server instance, GitHub Enterprise Server creates the repository with a single branch. This first branch in the repository is the default branch. The default branch is the branch that GitHub displays when anyone visits your repository. The default branch is also the initial branch that Git checks out locally when someone clones the repository. Unless you specify a different branch, the default branch in a repository is the base branch for new pull requests and code commits.

By default, GitHub Enterprise Server names the default branch master in any new repository.

You can set the name of the default branch for new repositories. For more information, see "Managing the default branch for your repositories," "Managing the default branch name for repositories in your organization," and "Enforcing repository management policies in your enterprise."

ブランチを使用する

満足の行くところまで作業したら、プルリクエストをオープンして、現在のブランチ(head ブランチ)の変更を別のブランチ(base ブランチ)にマージできます。 詳しい情報についてはプルリクエストについてを参照してください。

プルリクエストがマージまたはクローズされた後、head ブランチは不要になり削除できます。 ブランチを削除するには、リポジトリへの書き込みアクセスが必要です。 オープンなプルリクエストに直接関連付けられているブランチは削除できません。 詳しい情報については「プルリクエスト中のブランチの削除と復元」を参照してください。

プルリクエストがマージされた後にheadブランチを削除すると、GitHubは同じリポジトリ内に削除されたブランチをベースブランチと指定しているオープンなプルリクエストがないかをチェックします。 GitHubはそういったプルリクエストを自動的に更新し、ベースブランチをマージされたプルリクエストのベースブランチに変更します。 以下の図は次のような内容を示しています。

ユーザが master ブランチから feature1 というブランチを作成し、feature1 から feature2 というブランチを作成しました。 両方のブランチにオープンなプルリクエストがあります。 矢印は、各プルリクエストの現在のベースブランチを示します。 この時点で、feature1feature2 のベースブランチとなります。 ここで、feature2 のプルリクエストがマージされると、feature2 ブランチが feature1 にマージされます。

[Merge pull request] ボタン

次の図では、feature1 のプルリクエストを master ブランチにマージし、feature1 ブランチを削除しています。 その結果、GitHub は、feature2 のプルリクエストを自動的にリターゲットして、ベースブランチが master になるようにしました。

[Merge pull request] ボタン

これで、feature2 プルリクエストをマージすると、master ブランチにマージされます。

保護されたブランチでの作業

リポジトリ管理者は、ブランチの保護を有効化できます。 保護されたブランチで作業しているなら、ブランチを削除したり、ブランチにフォースプッシュしたりすることはできません。 リポジトリ管理者は、保護されたブランチの他の設定を有効化し、ブランチがマージできるようになる前に様々なワークフローを適用できます。

ノート:リポジトリ管理者は、ブランチの保護で"Include administrators(管理者を含む)"が設定されていなければ、要求を満たしていないプルリクエストを保護が有効化されたブランチにマージできます。

プルリクエストがマージできるかを調べるには、プルリクエストの Conversation(会話)タブの下部にあるマージボックスを見てください。 詳しい情報については保護されたブランチについてを参照してください。

ブランチが保護されていると、以下のようになります。

  • ブランチの削除やブランチへのフォースプッシュはできません。
  • ブランチでステータスチェック必須が有効化されていると、必要なCIテストがすべてパスするまで、変更をブランチにマージできません。 詳しい情報についてはステータスチェックについてを参照してください。
  • ブランチでプルリクエストレビュー必須が有効化されている場合、プルリクエストレビューポリシー中のすべての要求が満たされるまでは、ブランチに変更をマージできません。 詳しい情報についてはプルリクエストのマージを参照してください。
  • ブランチでコードオーナーからの必須レビューが有効化されており、プルリクエストがオーナーを持つコードを変更している場合、コードオーナーがプルリクエストを承認しなければ、そのプルリクエストはマージできません。 詳細は「コードオーナーについて」を参照してください。
  • ブランチでコミット署名必須が有効化されている場合、署名および検証されていないコミットはブランチにプッシュできません。 For more information, see "About commit signature verification" and "About required commit signing."
  • If you use GitHub's conflict editor to fix conflicts for a pull request that you created from a protected branch, GitHub helps you to create an alternative branch for the pull request, so that your resolution of the conflicts can be merged. 詳しい情報については、「GitHub でマージコンフリクトを解決する」を参照してください。

参考リンク

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.