Гілка, сесія і 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

  1. Продовжуйте великий refactor у головній папці.
  2. Створіть сусідній worktree від main для термінової задачі.
  3. Відкрийте окремий термінал, IDE або сесію Claude в новій папці.
  4. Протестуйте і закомітьте hotfix незалежно від незавершеної роботи.
  5. Після злиття видаліть тимчасовий 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