# GitHub Desktop でのワークツリーの管理

ワークツリーを使用すると、同じリポジトリの複数のブランチで同時に作業できるため、作業を隠すことなくコンテキストの切り替え、変更の確認、修正プログラムの作成を行うことができます。

## ワークツリーについて

Git ワークツリーを使用すると、同じリポジトリの複数のブランチを同時にチェックアウトできます。各ブランチはコンピューター上の独自のディレクトリにあります。 つまり、機能ブランチで作業したり、別のブランチで pull request をすばやく確認したり、現在のブランチで不完全な作業を隠したりコミットしたりせずに修正プログラムを作成したりできます。

GitHub Desktop には、ワークツリーの作成、切り替え、名前変更、削除をサポートする組み込みサポートが用意されています。 リポジトリにワークツリーがある場合、\[リポジトリ] ドロップダウンと \[**ブランチ**] ドロップダウンの間のツール **バーに\*\*\*\*Worktree** ドロップダウンが表示されます。

> \[!NOTE]
> **\[Worktree]\(ワークツリー**) ドロップダウンは、少なくとも 1 つのリンクされたワークツリーがある場合にのみ表示されます。 最初のワークツリーを作成するには、\[ **リポジトリ** ] メニューを使用するか、ツール バーの \[ **リポジトリ** ] ドロップダウンを右クリックします。

各ワークツリーは、ブランチ (またはデタッチされた HEAD コミット) に関連付けられています。 メインワークツリーは元のリポジトリクローンであり、リンクされたワークツリーは作成した追加のチェックアウトです。

## ワークツリーの作成

\[ **リポジトリ** ] メニューから新しいワークツリーを作成するには、ツール バーの \[ **リポジトリ** ] ドロップダウンを右クリックするか、\[ **Worktree** ] ドロップダウンから (既にワークツリーを作成した後に) クリックします。

### 最初のワークツリーの作成

リポジトリにリンクされたワークツリーがまだない場合、 **Worktree** ドロップダウンはツール バーに表示されません。 最初のワークツリーを作成するには:

1. メニュー バーの \[ **リポジトリ**] をクリックし、\[ **New Worktree...**] をクリックします。

   または、ツール バーの \[ **リポジトリ** ] ドロップダウンを右クリックし、\[ **New Worktree...**] をクリックします。

   <div class="ghd-tool mac">

   ![Mac の \[リポジトリ\] ドロップダウン メニューのスクリーンショット。 \[New Worktree\](新しいワークツリー) オプションは青で強調表示されています。](/assets/images/help/desktop/mac-repository-new-worktree-menu.png)

   </div>

   <div class="ghd-tool windows">

   ![Windowsの \[リポジトリ\] ドロップダウン メニューのスクリーンショット。 \[New worktree\](新しいワークツリー) オプションは青で強調表示されています。](/assets/images/help/desktop/windows-repository-new-worktree-menu.png)

   </div>

2. \[ワークツリーの追加] ダイアログで、\[ワークツリー名] フィールドにワークツリーの **名前** を入力します。

GitHub Desktop は、入力した名前に基づいて、ワークツリーが作成されるパスを自動的に決定します。 完全なパスがダイアログの下部に表示されます。

1. 必要に応じて、\[ **ブランチ名** ] フィールドにブランチ名を入力または選択します。

   * このフィールドを空のままにすると、ワークツリーと同じ名前の新しいブランチが作成されます。
   * 既存のローカル ブランチの名前を入力すると、そのブランチは新しいワークツリーでチェックアウトされます。
   * リモート ブランチの名前を入力すると、リモート参照から新しいローカル ブランチが作成されます。

   <div class="ghd-tool mac">

   ![Mac の \[ワークツリーの追加\] ダイアログのスクリーンショット。名前、パス、分岐フィールドが表示されています。](/assets/images/help/desktop/mac-add-worktree-dialog.png)

   </div>

   <div class="ghd-tool windows">

   ![Windowsの \[ワークツリーの追加\] ダイアログのスクリーンショット。名前、パス、分岐フィールドが表示されています。](/assets/images/help/desktop/windows-add-worktree-dialog.png)

   </div>

2. \[ **ワークツリーの作成**] をクリックします。

最初のリンクされたワークツリーを作成すると、ツール バーに **\[Worktree** ] ドロップダウンが表示されます。

### 追加のワークツリーの作成

**\[Worktree]\(ワークツリー**) ドロップダウンが表示されたら、そこからワークツリーを作成することもできます。

1. リポジトリ バーで、 **Worktree** ドロップダウンをクリックします。

   <div class="ghd-tool mac">

   ![Mac のワークツリー ドロップダウンのスクリーンショット。 展開された \[Worktree\] ドロップダウンで、\[New Worktree\](新しいワークツリー) ボタンが青で強調表示されています。](/assets/images/help/desktop/mac-worktree-dropdown-new-worktree.png)

   </div>

   <div class="ghd-tool windows">

   ![Windowsのワークツリー ドロップダウンのスクリーンショット。 展開された \[Worktree\] ドロップダウンで、\[New worktree\](新しいワークツリー) ボタンが青で強調表示されています。](/assets/images/help/desktop/windows-worktree-dropdown-new-worktree.png)

   </div>

2. \[ **新しいワークツリー**] をクリックします。

3. [「最初のワークツリーの作成」](#creating-your-first-worktree)の説明に従って、\[ワークツリーを追加] ダイアログの各フィールドに入力し、**\[ワークツリーを作成]** をクリックします。

GitHub Desktop はワークツリーを作成し、自動的にワークツリーに切り替えます。

## ワークツリー間の切り替え

ワークツリーはいつでも切り替えることができます。 ワークツリーを切り替えると、 GitHub Desktop 選択したワークツリーのパスに作業ディレクトリが更新されます。

1. リポジトリ バーで、 **Worktree** ドロップダウンをクリックします。
2. ワークツリーの一覧で、切り替えるワークツリーをクリックします。

   ![\[Main worktree\](メインワークツリー) グループと \[Linked worktrees\](リンクされたワークツリー) グループが表示されているワークツリー ドロップダウンのスクリーンショット。アクティブなワークツリーにチェックマークが付いています。](/assets/images/help/desktop/worktree-dropdown.png)

   ワークツリーリストは、"メインワークツリー" と "リンクされたワークツリー" にグループ化されます。 各項目には、ワークツリー ディレクトリ名と、関連付けられているブランチ名が表示されます。 一覧の上部にあるフィルター フィールドを使用して、名前でワークツリーを検索できます。

## ワークツリーの名前を変更する

リンクされたワークツリーの名前を変更できます。 メインワークツリーの名前を変更することはできません。

1. リポジトリ バーで、 **Worktree** ドロップダウンをクリックします。

2. 名前を変更するワークツリーを右クリックし、\[名前の **変更...**] をクリックします。

   <div class="ghd-tool mac">

   ![Mac 上のワークツリー項目のコンテキスト メニューのスクリーンショット。\[名前の変更\]、\[名前のコピー\]、\[パスのコピー\]、および \[削除\] オプションが表示されています。](/assets/images/help/desktop/mac-worktree-context-menu.png)

   </div>

   <div class="ghd-tool windows">

   ![\[名前の変更\]、\[名前のコピー\]、\[パスのコピー\]、\[削除\] オプションを含む、Windowsのワークツリー項目のコンテキスト メニューのスクリーンショット。](/assets/images/help/desktop/windows-worktree-context-menu.png)

   </div>

3. \[ワークツリー名の変更] ダイアログで、ワークツリーの新しい名前を入力します。

4. **\[名前変更]** をクリックします。

## ワークツリーの削除

不要になったリンクされたワークツリーを削除できます。 Git がロックしているメインワークツリーまたはワークツリーを削除して削除できないようにすることはできません。

1. リポジトリ バーで、 **Worktree** ドロップダウンをクリックします。
2. 削除するワークツリーを右クリックし、\[ **削除...**] をクリックします。
3. 確認ダイアログで、\[ **削除**] をクリックします。

   必要に応じて、\[ **このメッセージを再度表示しない** ] を選択して、今後この確認をスキップします。 設定で確認を再度有効にすることができます。
   [ワークツリーを削除するためのプロンプトの構成を](#configuring-a-prompt-for-deleting-worktrees)参照してください。

   <div class="ghd-tool mac">

   ![Mac の \[Worktree の削除\] 確認ダイアログのスクリーンショット。\[このメッセージを再度表示しない\] チェック ボックスが表示されています。](/assets/images/help/desktop/mac-delete-worktree.png)

   </div>

   <div class="ghd-tool windows">

   ![Windowsの \[Worktree の削除\] 確認ダイアログのスクリーンショット。\[このメッセージを再度表示しない\] チェック ボックスが表示されています。](/assets/images/help/desktop/windows-delete-worktree.png)

   </div>

   削除が失敗した場合 (たとえば、ワークツリーにコミットされていない変更が含まれているため)、 GitHub Desktop は、ワークツリーを強制的に削除するためのエラー ダイアログ オファリングを表示します。 取り消すと、 GitHub Desktop は最初に作業していたワークツリーに戻ります。

## ワークツリーを削除するためのプロンプトの構成

ワークツリーを削除する前 GitHub Desktop 確認を求めるかどうかを選択できます。

<div class="ghd-tool mac">

1. メニュー バーで **\[GitHub Desktop]** を選んでから、**\[Settings]** をクリックします。

   ![Mac のメニュー バーのスクリーンショット。 開かれた \[GitHub Desktop\] ドロップダウン メニューで、カーソルが \[Settings\] をポイントしており、それが青色で強調されています。](/assets/images/help/desktop/mac-choose-settings.png)

2. \[設定] ウィンドウで、\[ **プロンプト**] をクリックします。

3. 確認プロンプトを有効または無効にするには、\[ **ワークツリーの削除** ] チェックボックスをオンまたはオフにします。

</div>

<div class="ghd-tool windows">

1. **\[ファイル]** メニューを使用し、 **\[オプション]** をクリックします。

   ![Windows の \[GitHub Desktop\] メニュー バーのスクリーンショット。 展開された \[File\] ドロップダウン メニューの \[Options\] 項目が、オレンジ色の枠線で囲まれています。](/assets/images/help/desktop/windows-choose-options.png)

2. \[オプション] ウィンドウで、\[ **プロンプト**] をクリックします。

3. 確認プロンプトを有効または無効にするには、\[ **ワークツリーの削除** ] チェックボックスをオンまたはオフにします。

</div>

## 詳細については、次を参照してください。

* [GitHub Desktop でのブランチの管理](/ja/desktop/making-changes-in-a-branch/managing-branches-in-github-desktop)
* Git ドキュメントの [git-worktree](https://git-scm.com/docs/git-worktree)