---
title: Git Worktrees — Parallel Claude Sessions
tags:
  - git
  - claude-code
  - workflow
  - productivity
aliases:
  - git worktrees
  - parallel claude
---

# Git Worktrees — Параллельные сессии Claude

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

## Зачем это нужно

Без worktrees две сессии Claude работают на одних файлах → конфликты, перезапись изменений, сломанный dev server.

С worktrees каждая сессия получает **изолированную копию файлов** + **общий `.git`**.

## Команды

```bash
# Создать worktree на новой ветке
git worktree add ../project-feature-x feature-x

# Создать worktree на существующей ветке
git worktree add ../project-hotfix hotfix/urgent-fix

# Список всех активных worktrees
git worktree list

# Удалить после завершения работы
git worktree remove ../project-feature-x

# Принудительно удалить (если есть uncommitted changes)
git worktree remove --force ../project-feature-x
```

## Типичный сценарий

```
~/project/              ← main, сессия 1: текущая фича
~/project-hotfix/       ← hotfix/v2.1, сессия 2: срочный баг
~/project-refactor/     ← refactor/auth, сессия 3: рефакторинг
```

Все три сессии Claude работают независимо, не мешая друг другу.

## Когда предлагать

- Репо имеет несколько веток и нужно работать над двумя задачами параллельно
- Нужен срочный hotfix, но основная ветка в середине незавершённой фичи
- Долгая задача идёт фоном, пока ты работаешь над другим
- Claude нужна свобода экспериментировать без риска сломать рабочее состояние

## Claude Code — встроенная поддержка

Claude Code имеет встроенный инструмент `EnterWorktree`. Агент с параметром `isolation: "worktree"` автоматически создаёт изолированный worktree, работает в нём, и либо возвращает путь к ветке (если были изменения), либо чистит за собой (если нет).

```
Agent({
  isolation: "worktree",   ← агент работает в изолированной копии
  prompt: "..."
})
```

## Ограничения

- Одну ветку нельзя открыть в двух worktrees одновременно
- Нельзя `checkout` ветку, которая уже открыта в другом worktree
- `git stash` работает глобально — применяется к любому worktree

## Связанные заметки

- [[wiki/concepts/claude-code-agents|Claude Code Agents]]
- [[wiki/architecture/_index|Architecture Patterns]]
