# GitHub Desktop でのブランチの管理

GitHub Desktop を使用して、リポジトリ内の既存のブランチから新しいブランチを作成して、変更を安全に試してみることができます。

## ブランチの管理について

ブランチを使用して、プロジェクトの変更を安全に試すことができます。 ブランチは、開発作業をリポジトリ内の他のブランチから分離します。 たとえば、ブランチを使用して新しい機能を開発したり、バグを修正したりすることができます。

ブランチは常に既存のものから作成します。 通常、リポジトリのデフォルトブランチからブランチを作成します。 その後、他の人がリポジトリに加えた変更とは別に、新しいブランチで作業できます。

ブランチの履歴で、以前のコミットから始まるブランチを作成することもできます。 これは、バグを調査するためにリポジトリの以前のビューに戻る必要がある場合や、最新リリースの上にホットフィックスを作成する必要がある場合に役立ちます。

作業が完了したら、プルリクエストを作成して、現在のブランチの変更を別のブランチにマージできます。 詳細については、「[GitHub Desktop からの issue または pull request の作成](/ja/desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request-from-github-desktop)」および「[Pull Request](/ja/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)」を参照してください。

リポジトリへの読み取りアクセスがある場合は、常に GitHub Desktop でブランチを作成できますが、リポジトリへの書き込みアクセスがある場合のみ、ブランチを GitHub にプッシュできます。

リポジトリ管理者は、ブランチの保護を有効化できます。 保護されたブランチで作業しているなら、ブランチを削除したり、ブランチにフォースプッシュしたりすることはできません。 リポジトリ管理者は、他の保護されたブランチの設定を有効化して、ブランチがマージできるようになる前に特定のワークフローを強制することができます。 詳しくは、「[保護されたブランチについて](/ja/enterprise-server@3.22/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches)」をご覧ください。

リポジトリ管理者も、ルールセットを有効にすることができます。 ルールセットを使用すると、新しいブランチを作成するときに特定のブランチ名を要求したり、バイパス アクセス許可を持つユーザーのみに新しいブランチをリモート リポジトリへの発行を許可したりできます。 GitHub Desktop は警告を表示し、ブランチがルールセットに従っていない場合、ブランチが作成されないようにします。 詳しくは、「[ルールセットについて](/ja/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)」をご覧ください。

## ブランチの作成

> \[!TIP]
> 最初に作成する新しいブランチは、既定のブランチに基づきます。 複数のブランチがある場合、現在チェックアウトされているブランチまたはデフォルトのブランチに基づいて、新しいブランチを選択できます。

1. アプリの上部で **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> \[Current Branch]** をクリックし、ブランチの一覧から、新しいブランチのベースにしたいブランチをクリックしてください。

   ![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "my-feature" というブランチがオレンジの枠線で強調表示されています。](/assets/images/help/desktop/select-branch-from-dropdown.png)

2. **\[New Branch]** (新しいブランチ) をクリックします。

   ![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[フィルター\] フィールドの横の \[新しいブランチ\] というラベルのボタンがオレンジ色で囲まれています。](/assets/images/help/desktop/new-branch-button-mac.png)

3. \[ブランチの作成] ウィンドウの \[名前] に新しいブランチの名前を入力します。

4. \[ブランチ作成のベース] で新しいベース ブランチを選びます。

5. **\[Create Branch]** (ブランチの作成) をクリックします。

## 以前のコミットからブランチを作成する

1. 左サイドバーにある **\[履歴]** をクリックします。

   ![サイドバーの \[履歴\] タブのスクリーンショット。 コミット一覧の上にある \[履歴\] というタブ ボタンがオレンジ色の枠線で強調表示されています。](/assets/images/help/desktop/history-tab-in-commit-sidebar.png)

2. 新しいブランチを作成するコミットを右クリックし、 **\[コミットからブランチの作成]** を選択します。

   ![\[History\] タブのコミット一覧のスクリーンショット。コミットの横にあるコンテキスト メニューの \[Create Branch from Commit\] オプションにカーソルが置かれます。](/assets/images/help/desktop/create-branch-from-commit-context-menu.png)

3. \[ブランチの作成] ウィンドウの \[名前] に新しいブランチの名前を入力します。

4. **\[Create Branch]** (ブランチの作成) をクリックします。

## ブランチを公開する

GitHub Desktop にブランチを作成する場合は、ブランチを公開して、GitHub でのコラボレーションに使用できるようにする必要があります。

1. リポジトリ バーで、**\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch]** をクリックしてから、公開するブランチをクリックします。

![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "my-feature" というブランチがオレンジの枠線で強調表示されています。](/assets/images/help/desktop/select-branch-from-dropdown.png)

1. **\[ブランチを公開する]** をクリックします。

![リポジトリ バーのスクリーンショット。 右側の \[ブランチを公開する\] というラベルのボタンがオレンジ色の枠線で強調されています。](/assets/images/help/desktop/publish-branch-button.png)

## ブランチ間の切り替え

リポジトリのどのブランチに対しても、コミットを表示したり、行ったりすることができます。 まだコミットしていない、保存した変更がある場合は、その変更の扱いについて、ブランチを切り替える前に決める必要があります。 現在のブランチに変更をコミットする、現在のブランチへの変更を一時的に保存するために stash する、または変更を新しいブランチに移動することが可能です。 ブランチを切り替える前に変更をコミットしたい場合は、「[GitHub Desktop でプロジェクトの変更をコミットしてレビューする](/ja/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop)」をご覧ください。

> \[!TIP]
> ブランチを切り替える場合の既定の動作は、**\[Prompts]** で設定できます。 詳しくは、「[GitHub Desktop での基本設定の構成](/ja/desktop/configuring-and-customizing-github-desktop/configuring-basic-settings-in-github-desktop)」をご覧ください。

1. リポジトリ バーで、**\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch]** をクリックし、切り替え先のブランチをクリックします。

![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "my-feature" というブランチがオレンジの枠線で強調表示されています。](/assets/images/help/desktop/select-branch-from-dropdown.png)

1. コミットされていない変更を保存した場合は、\[ブランチの切り替え] ウィンドウで、 **\[変更を CURRENT-BRANCH に残す]** または **\[変更を NEW-BRANCH に反映する]** を選んで、 **\[ブランチの切り替え]** をクリックします。

## ブランチの削除

現時点でブランチがオープンなプルリクエストに関連付けられている場合は、ブランチを削除できません。 ブランチの削除を取り消すことはできません。

<div class="ghd-tool mac">

1. リポジトリ バーで、**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> \[Current Branch]** をクリックしてから、削除するブランチをクリックします。
   ![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "my-feature" というブランチがオレンジの枠線で強調表示されています。](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. メニュー バーの **\[Branch]** (ブランチ) をクリックし、 **\[Delete...]** (削除) をクリックします。<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>D</kbd> を押すこともできます。
   ![Mac のメニュー バーのスクリーンショット。 展開された \[分岐\] ドロップダウン メニューで、青で強調表示されている \[削除\] オプションの上にカーソルがあります。](/assets/images/help/desktop/delete-branch-mac.png)

</div>

<div class="ghd-tool windows">

1. リポジトリ バーで、**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> \[Current Branch]** をクリックしてから、削除するブランチをクリックします。
   ![\[現在のブランチ\] ドロップダウン ビューのスクリーンショット。 \[Recent Branches\] (最近のブランチ) の下にある "my-feature" というブランチがオレンジの枠線で強調表示されています。](/assets/images/help/desktop/select-branch-from-dropdown.png)
2. メニュー バーの **\[Branch]** (ブランチ) をクリックし、 **\[Delete...]** (削除) をクリックします。<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>D</kbd> を押すこともできます。
   ![Windows の \[GitHub Desktop\] メニュー バーのスクリーンショット。 展開された \[ブランチ\] ドロップダウン メニューで、\[削除\] というラベルのオプションがオレンジ色の枠線で囲まれています。](/assets/images/help/desktop/delete-branch-win.png)

</div>

## 参考資料

* [GitHubからのGitHub Desktopへのリポジトリのクローン方法](/ja/desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop)
* [GitHub用語集](/ja/enterprise-server@3.22/get-started/learning-about-github/github-glossary#branch) (GitHub 用語集で)
* [支店](/ja/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)
* [Git ブランチの概要](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) (Git ドキュメント)
* [GitHub Desktop での変更の一時退避](/ja/desktop/making-changes-in-a-branch/stashing-changes-in-github-desktop)