n1ro°
RU

Документы · Инструкция

VS Code Git Worktree: как работать с двумя ветками одновременно

VS Code Git Worktree: как работать с двумя ветками одновременно нужен, когда требуется держать две ветки одного репозитория открытыми одновременно без постоянного checkout и stash текущей работы.

Редакция N1RO · Проверено

Короткий ответ

Создайте вторую worktree через Source Control Repositories → More Actions → Worktrees → Create Worktree и откройте её отдельным окном VS Code. Используйте другую локальную ветку: Git не разрешает обычный checkout одной и той же ветки сразу в двух worktrees.

VS Code Git worktree: что именно происходит

Git worktree создаёт дополнительную рабочую директорию, связанную с общей историей репозитория. Каждую worktree удобно открыть отдельным окном VS Code. Одна и та же ветка обычно не может быть checkout одновременно в двух worktrees.

Совет: Каждую worktree удобно открыть отдельным окном VS Code.

Как настроить две ветки одновременно по шагам

  1. Проверить текущую ветку и незакоммиченные изменения основной рабочей папки. Перед изменением запишите состояние «VS Code Git worktree».
  2. В Source Control Repositories открыть More Actions → Worktrees → Create Worktree, выбрать ветку и каталог. Создавайте worktree в отдельной папке, чтобы окна VS Code не использовали одну рабочую директорию.
  3. Открыть новый каталог отдельным окном VS Code и сверить branch в Status Bar. Для первого прогона используйте один контролируемый объект, связанный с «Git worktrees».
  4. Вести commits независимо, внимательно проверяя окно перед commit/push. Сравните результат с ожидаемым поведением «parallel development».
  5. После завершения сохранить commits, закрыть окно и удалить worktree штатным способом. Повторите проверку для «отдельная рабочая папка» после сохранения изменений.

Предупреждение: Ручное удаление каталога оставляет зарегистрированную worktree в git.

Проверка перед применением: Git worktrees

  • Проверяется именно нужная сущность или область: VS Code Git worktree.
  • Шаг «Открыть новый каталог отдельным окном VS Code и» дал ожидаемый эффект до расширения настройки.
  • Учтён риск: ручное удаление каталога оставляет зарегистрированную worktree в Git.
  • Финальная проверка повторяет действие: после завершения сохранить commits, закрыть окно и удалить worktree штатным способом.

Контрольный тест для parallel development

Оставьте основную ветку открытой в первом окне VS Code и создайте worktree для второй ветки через меню Worktrees. Во втором окне измените один тестовый файл и убедитесь по Status Bar и Source Control, что commit относится к нужной ветке. Затем проверьте первое окно: его рабочие изменения должны оставаться независимыми.

Как проверить результат: отдельная рабочая папка

Worktree имеет собственную рабочую директорию, staging area и незакоммиченные изменения, но использует общую историю репозитория. Git не даёт держать одну и ту же локальную ветку checkout одновременно в двух worktrees. VS Code показывает созданные worktrees в Source Control Repositories и позволяет открыть каждую в отдельном окне. Файлы из `.gitignore` не копируются автоматически, если вы отдельно не настроили `git.worktreeIncludeFiles`. Финальная проверка: после завершения сохранить commits, закрыть окно и удалить worktree штатным способом; это и есть критерий готовности для «отдельная рабочая папка».

Важно: Удалять worktree нужно штатно через Git, а не просто стирать папку.

Ошибки и ограничения для VS Code Git worktree

Первое ограничение — ручное удаление каталога оставляет зарегистрированную worktree в Git. Второе — одинаковая ветка не предназначена для одновременного checkout в двух trees. Третье — node_modules и окружения могут удвоить расход диска.

Что учитывать

Первое ограничение — ручное удаление каталога оставляет зарегистрированную worktree в Git. Второе — одинаковая ветка не предназначена для одновременного checkout в двух trees. Третье — node_modules и окружения могут удвоить расход диска.

Источники и проверка

Инструкция составлена редакцией N1RO на 2026-09-22. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.