Документы · Инструкция
Git worktree: branch is already checked out — что делать
Запустите `git worktree list --porcelain` и найдите нужную строку `branch`. Если каталог существует, откройте его и пров
Короткий ответ
Выполните `git worktree list` и найдите каталог, где ветка уже открыта; работайте там, переключите тот worktree на другую ветку либо удалите действительно ненужный worktree, а для устаревшей записи используйте `git worktree prune`.
Проверка по порядку
- Запустите `git worktree list --porcelain` и найдите нужную строку `branch`.
- Если каталог существует, откройте его и проверьте `git status` перед изменениями.
- Если оба worktree нужны, создайте для второго новую ветку через `git worktree add ./other -b <new-branch> <base>`.
Исправление
- Если старый worktree больше не нужен и чистый, удалите `git worktree remove <path>`.
- Если каталог удалили вручную, выполните `git worktree prune` и снова `git worktree list`.
- Повторите `git worktree add` только после устранения конфликтующей регистрации или выбора другой ветки.
Как понять, что исправлено
- git worktree list показывает одну рабочую привязку branch, а команда add/switch больше не падает с already checked out.
Важно
Не применяйте git worktree add --force только ради обхода сообщения: защита не даёт одновременно работать с одной branch в двух worktree.
Что учитывать
Не применяйте git worktree add --force только ради обхода сообщения: защита не даёт одновременно работать с одной branch в двух worktree.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. git-worktree Documentation). Пример и формулировки — редакция N1RO на 2026-09-17.