# Управление рабочими деревьями в GitHub Desktop

Рабочие деревья позволяют одновременно работать с несколькими ветвями одного репозитория, так что вы можете переключаться между контекстами, просматривать изменения или делать хотфиксы без сохранения работы.

## О рабочих деревьях

Рабочие деревья Git позволяют одновременно проверять несколько веток одного и того же репозитория, каждая из которых находится в отдельной директории на вашем компьютере. Это значит, что вы можете работать над feature branch, быстро просматривать pull-запрос на другой ветке или делать хотфикс без сохранения и незавершённой работы на текущей ветке.

GitHub Desktop обеспечивает встроенную поддержку создания, переключения между рабочими деревьями, переименования и удаления. Когда в вашем репозитории есть рабочие деревья, в панели инструментов между выпадающими списками **Репозитория** и **Ветвь** появляется **выпадающее меню Дерево** работы.

> \[!NOTE]
> **Выпадающий список Worktree** виден только если у вас есть хотя бы одно связанное рабочее дерево. Чтобы создать первое рабочее дерево, используйте меню **Репозитория** или кликните правой кнопкой мыши по выпадающему меню **Репозитория** на панели инструментов.

Каждое рабочее дерево связано с ветвью (или отстранённым HEAD-коммитом). Основное рабочее дерево — это ваш оригинальный клон репозитория, а связанные рабочие деревья — это дополнительные проверки, которые вы создаёте.

## Создание рабочего дерева

Вы можете создать новое рабочее дерево из меню **репозитория** , кликнув правой кнопкой мыши по выпадающему меню **Репозитория** на панели инструментов или (когда у вас уже есть рабочие деревья) в выпадающем **меню Worktree** .

### Создание вашего первого рабочего дерева

Если в вашем репозитории ещё нет связанных рабочих деревьев, выпадающее меню **Worktree** не отображается на панели инструментов. Чтобы создать ваше первое рабочее дерево:

1. В строке меню нажмите « **Хранилище**», затем **«Новое рабочее дерево...**».

   Или же кликните правой кнопкой мыши по выпадающему меню **репозитория** на панели инструментов и **выберите «Новое рабочее дерево...**».

   <div class="ghd-tool mac">

   ![Скриншот выпадающего меню «Repository» на Mac. Опция «Новое рабочее дерево» выделена синим цветом.](/assets/images/help/desktop/mac-repository-new-worktree-menu.png)

   </div>

   <div class="ghd-tool windows">

   ![Скриншот выпадающего меню «Репозиторий» в Windows. Опция «Новое рабочее дерево» выделена синим цветом.](/assets/images/help/desktop/windows-repository-new-worktree-menu.png)

   </div>

2. В диалоге «Добавить рабочее дерево» введите имя для вашего рабочего дерева в поле **имени Worktree** .

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">

   ![Скриншот выпадающего меню worktree на Mac. В расширенном выпадающем меню «Worktree» кнопка New Worktree выделена синим цветом.](/assets/images/help/desktop/mac-worktree-dropdown-new-worktree.png)

   </div>

   <div class="ghd-tool windows">

   ![Скриншот выпадающего меню worktree в 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. В списке рабочего дерева нажмите на то дерево, на которое хотите переключиться.

   ![Скриншот выпадающего меню worktree с группами «Основное рабочее дерево» и «Связанные рабочие деревья» с галочкой на активном дереве.](/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 с галочкой «Не показывать это сообщение снова».](/assets/images/help/desktop/mac-delete-worktree.png)

   </div>

   <div class="ghd-tool windows">

   ![Скриншот диалога подтверждения «Удалить рабочее дерево» на Windows с галочкой «Не показывать это сообщение снова».](/assets/images/help/desktop/windows-delete-worktree.png)

   </div>

   Если удаление не удаётся (например, потому что в рабочем дереве есть незафиксированные изменения), GitHub Desktop появляется диалоговое окно ошибки с предложением принудительно удалить рабочее дерево. Если вы отменяете, GitHub Desktop вас возвращают к тому же рабочему дереву, в котором вы работали изначально.

## Настройка запроса для удаления рабочих деревьев

Вы можете выбрать, запрашивает GitHub Desktop ли подтверждение перед удалением рабочего дерева.

<div class="ghd-tool mac">

1. В строке меню выберите **GitHub Desktop**, а затем нажмите кнопку **"Параметры**".

   ![Снимок экрана: строка меню на Компьютере Mac. В раскрывающемся меню "GitHub Desktop" курсор наведите указатель мыши на "Параметры", который выделен синим цветом.](/assets/images/help/desktop/mac-choose-settings.png)

2. В окне «Настройки» нажмите **«Подсказки**».

3. Выберите или снимите галочку **«Удаление рабочих деревьев** », чтобы включить или отключить запрос подтверждения.

</div>

<div class="ghd-tool windows">

1. В меню **Файл** выберите пункт **Параметры**.

   ![Снимок экрана: строка меню "GitHub Desktop" в Windows. В раскрывающемся меню "Файл" элемент "Параметры" выделен оранжевым цветом.](/assets/images/help/desktop/windows-choose-options.png)

2. В окне «Опции» нажмите **«Подсказки**».

3. Выберите или снимите галочку **«Удаление рабочих деревьев** », чтобы включить или отключить запрос подтверждения.

</div>

## Дополнительные материалы

* [Управление ветвями в GitHub Desktop](/ru/desktop/making-changes-in-a-branch/managing-branches-in-github-desktop)
* [git-worktree](https://git-scm.com/docs/git-worktree) в документации Git