Документы · Инструкция
VS Code Git Worktree: как работать с двумя ветками одновременно
VS Code Git Worktree: как работать с двумя ветками одновременно нужен, когда требуется держать две ветки одного репозитория открытыми одновременно без постоянного checkout и stash текущей работы.
Короткий ответ
Создайте вторую 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.
Как настроить две ветки одновременно по шагам
- Проверить текущую ветку и незакоммиченные изменения основной рабочей папки. Перед изменением запишите состояние «VS Code Git worktree».
- В Source Control Repositories открыть More Actions → Worktrees → Create Worktree, выбрать ветку и каталог. Создавайте worktree в отдельной папке, чтобы окна VS Code не использовали одну рабочую директорию.
- Открыть новый каталог отдельным окном VS Code и сверить branch в Status Bar. Для первого прогона используйте один контролируемый объект, связанный с «Git worktrees».
- Вести commits независимо, внимательно проверяя окно перед commit/push. Сравните результат с ожидаемым поведением «parallel development».
- После завершения сохранить 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. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.