Гілка, сесія і worktree — різні рівні
Гілка належить Git і визначає історію змін. Сесія Claude зберігає контекст діалогу та фокус. Worktree — це додаткова фізична папка того самого репозиторію зі спільною Git-історією.
Нова гілка не створює автоматично нову сесію, а нова сесія не ізолює файли. Дві редагувальні сесії в одному checkout можуть взаємно змінювати один стан.
| Ситуація | Рекомендований підхід |
|---|---|
| Одна задача в одній папці | Звичайна гілка і одна сесія |
| Коротке перемикання на чистому дереві | git switch |
| Довгий refactor і терміновий hotfix | Окремий worktree |
| Порівняння альтернатив | Два worktree |
| Одночасне редагування різних станів | Окремі worktree та сесії |
Створення worktree
git switch -c refund-refactor
git branch --show-current
git status
git worktree add -b hotfix/refund-amount-typo ../commerce-os-hotfix main
cd ../commerce-os-hotfix
pwd
git branch --show-current
git status -sb Паралельний hotfix
- Продовжуйте великий refactor у головній папці.
- Створіть сусідній worktree від
mainдля термінової задачі. - Відкрийте окремий термінал, IDE або сесію Claude в новій папці.
- Протестуйте і закомітьте hotfix незалежно від незавершеної роботи.
- Після злиття видаліть тимчасовий worktree штатною Git-командою.
./gradlew test --tests "*Refund*"
git worktree list
git worktree remove ../commerce-os-hotfix
git branch -d hotfix/refund-amount-typo Застереження для паралельної роботи
- Не запускайте паралельні редагування в одній папці без координації.
- Не ототожнюйте сесію Claude з файловою ізоляцією.
- Git зазвичай не дозволяє підключити одну гілку до двох worktree.
- Не залишайте старі worktree без потреби.
- Worktree не переносить контекст Claude автоматично.
Коли worktree зайвий
Для простої задачі достатньо окремої гілки. Worktree потрібен тоді, коли кілька локальних станів мають одночасно зберігати власні незакомічені зміни й не заважати один одному.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush