Git и worktrees: безопасная изоляция изменений
Автор: Казачкин Даниил Михайлович · Обновлено
Claude Code понимает текущее состояние Git и может обсуждать diff, создавать ветки и готовить коммиты по явному запросу. Но Git остаётся системой контроля версий, а не разрешением на любые операции: перед коммитом разработчик должен понимать, какие файлы изменены и почему.
Начинайте с чистого понимания состояния
Перед задачей проверьте git status, активную ветку и существующие пользовательские изменения. Попросите Claude сохранить несвязанные правки и не включать их в свою работу. После реализации сравните итоговый diff с исходной целью.
Коммит — не автоматическое доказательство качества. Сначала проверки и обзор diff, затем осознанное сохранение логического шага.
Что поручать Claude в Git
Полезные запросы из официального quickstart:
- «what files have I changed?»;
- «show me the last 5 commits»;
- «create a new branch called feature/quickstart»;
- «help me resolve merge conflicts»;
- «commit my changes with a descriptive message».
Формулировка должна сохранять контроль: агент не должен push, переписывать историю или публиковать PR, если этого явно не просили.
Зачем нужны worktrees
Git worktree создаёт отдельную рабочую директорию и ветку при общей истории репозитория. Это позволяет вести несколько Claude Code-сеансов без столкновения незакоммиченных файлов. Официальный CLI поддерживает:
claude --worktree feature-authКраткая форма — claude -w feature-auth. Worktree особенно полезен для параллельных реализаций и экспериментов.
Ограничения изолированной директории
Новый worktree не получает gitignored-файлы автоматически. Локальный .env, кеши и конфигурация могут отсутствовать. Не копируйте секреты без необходимости. Если несколько задач затрагивают одну архитектурную точку, файловая изоляция не устранит логический конфликт при последующем merge.
Практический чек-лист перед коммитом
git statusпоказывает только ожидаемые файлы.git diffсоответствует задаче и не содержит секретов.- Generated-файлы обновлены только штатной командой.
- Тесты и типы запущены после последнего изменения.
- Коммит описывает один логический результат.
- Push или PR выполняется только по отдельному намерению.
Что важно запомнить
- Сначала изучите Git-состояние, затем разрешайте изменения.
- Один коммит должен выражать один проверенный шаг.
- Worktree изолирует файлы параллельных сеансов.
- Публикация изменений является отдельным внешним действием.
Частые вопросы
Checkpoint Claude Code заменяет Git?
Нет. Checkpoint помогает откатывать файловые правки сеанса, а Git хранит явную историю проекта и поддерживает совместную работу.
Когда worktree лучше новой ветки в той же папке?
Когда задачи идут параллельно или нужно сохранить незакоммиченное состояние одного направления, пока другой сеанс работает отдельно.
Может ли Claude Code сам создать коммит?
Да, если вы попросите и разрешения допускают Git-команду. Перед этим всё равно нужно проверить staged diff и результаты тестов.