Deepseek ArtifactsDeepseek Artifacts
Гайд по Codex

Worktree в Codex: управляемые Git-worktree, шаг за шагом

Включите функцию worktrees, запустите чат в управляемом Git-worktree, превратите результат в ветку через Work here и запустите codex --worktree прямо из терминала — 10 шагов из чистой записи экрана.

TL;DR

  • Git-worktree — это второй чекаут того же репозитория — у каждого worktree свои файлы, но общая папка .git, поэтому параллельные чаты Codex никогда не перезаписывают друг друга.
  • Worktree скрыты за фича-флагом: выполните codex features enable worktrees в терминале, перезапустите приложение — и в композере появится опция New local worktree.
  • Готовый worktree становится веткой в два клика — Create branch называет её codex/your-branch, затем лист коммита пушит её, и вы открываете PR, не покидая worktree.
  • Управляемые worktree живут в $CODEX_HOME/worktrees как папки с хеш-именами. Codex держит 15 самых свежих, сохраняет снапшот перед очисткой и умеет восстанавливать его из чата. Инструменты создания/списка появились в Codex 0.162.0.

Codex Worktrees: The Best Feature Most Developers Ignore

Канал:Software Engineer Meets AI4:56

Смотреть на YouTube

Worktrees — official Codex documentation

Документация:developers.openai.com/codex

Смотреть на YouTube

Кадры взяты из чистой записи экрана; команды и подписи интерфейса сверены с официальной документацией Codex по worktrees. Инструменты управляемых worktree появились в Codex 0.162.0 (октябрь 2026): "Add tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled."

Авторские права на видео принадлежат его создателю, ссылка дана для указания авторства. Названия продуктов и элементы интерфейса принадлежат OpenAI.

Как работают worktree в Codex, шаг за шагом

Включаем worktrees и запускаем первый

  1. 1

    Прежде чем что-то включать, поймите, что такое worktree

    Git-worktree — это полная вторая копия вашего репозитория в отдельной папке — у каждого worktree своя копия каждого файла, но все они делят одни и те же метаданные .git. Именно поэтому несколько параллельных чатов Codex могут править свои папки, не спотыкаясь о чужие незакоммиченные изменения. Worktree — обычная функция Git; Codex лишь автоматизирует хозяйственные хлопоты вокруг неё.

    Slide from a Codex worktrees tutorial defining a Git worktree as a feature that lets multiple branches of one repository be checked out in different folders simultaneously
    Запись открывается определением в одно предложение: несколько ветвей одного репозитория, чекаутнутых в разных папках одновременно.Смотреть с 0:28
  2. 2

    Включите функцию worktrees один раз

    Worktree в Codex всё ещё за флагом, так что первый шаг делается в терминале. Как показано на записи, докладчик открывает встроенный терминал приложения и выполняет codex features enable worktrees — это переключает флаг в config.toml, — затем перезапускает приложение. После перезапуска в композере появляется опция New local worktree.

    Codex app home screen with a terminal panel open under the composer showing alldevneeds, New local worktree, No environment and main chips after enabling the worktrees feature
    Приложение Codex с открытой терминальной панелью под композером — именно там перед перезапуском выполняется команда включения.Смотреть с 1:58
  3. 3

    Начните чат на New local worktree

    В новом чате чипы композера читаются так: имя проекта, New local worktree, No environment, main — режим worktree и ветка, с которой worktree стартует. Оставьте выбранным New local worktree и main как стартовую ветку, введите задачу (в записи — "change the background color to be blue") и отправьте.

    Codex composer with the New local worktree chip and main branch selected while typing the change the background color prompt
    Композер с выбранными New local worktree и main, пока вводится промпт.Смотреть с 3:00
  4. 4

    Дайте агенту работать внутри его worktree

    Codex отвечает "Worktree created" и начинает работать в изолированной копии — в треде видно, как он гоняет npm run type-check && git diff --check, пока вы продолжаете пользоваться приложением для других чатов. Ваш основной чекаут не тронут, а счётчик Changes (+2 -2 на записи) отслеживает, что агент правит внутри worktree.

    Codex thread showing Worktree created and the agent running npm run type-check and git diff inside the isolated worktree with a 1 file changed badge
    Заголовок треда показывает Worktree created, пока агент гоняет type-check и diff внутри worktree.Смотреть с 3:17

Превращаем worktree в ветку и PR

  1. 5

    Найдите, где Codex держит worktree

    Управляемые worktree не сваливаются рядом с проектом. Официальная документация помещает их в $CODEX_HOME/worktrees, и запись это подтверждает: после cd в .codex/worktrees команда ls печатает по одной папке с хеш-именем на worktree (09bd, 09ec, 7b3a, d021, dd4e). Перенести корень можно в Settings > Worktrees настройкой Worktree root.

    Terminal inside .codex/worktrees listing five hash-named managed worktree folders after running worktrees ls
    Терминал внутри .codex/worktrees перечисляет пять папок worktree с хеш-именами.Смотреть с 3:41
  2. 6

    Откройте меню треда и создайте ветку

    Новый worktree стартует отсоединённым — Codex создаёт его без привязанной ветки. Чтобы сохранить работу, откройте меню Environment на треде: Changes (+2 -2), Worktree, Create branch, Commit or push и Create pull request. Create branch — то самое действие, что превращает эту папку в настоящую именованную ветку.

    Codex thread Environment menu open showing Changes plus 2 minus 2, Worktree, Create branch, Commit or push and Create pull request actions
    Меню Environment треда: Changes, Worktree, Create branch, Commit or push и Create pull request.Смотреть с 3:25
  3. 7

    Подтвердите ветку в диалоге Work here

    Create branch открывает диалог Work here: "Create a branch to commit changes, push, and create a PR from this worktree." Поле Branch name уже заполнено префиксом codex/ — на записи codex/change-background-color — нажмите Create, и ветка прикрепится к worktree. Git позволяет держать ветку чекаутнутой только в одном worktree за раз — именно поэтому Codex ведёт эту пару за вас.

    Codex Work here dialog with the prefilled codex/change-background-color branch name, Set prefix link and Create button for turning a worktree into a branch
    Диалог Work here с предзаполненным именем ветки codex/change-background-color и кнопкой Create.Смотреть с 3:52
  4. 8

    Коммитьте и пушьте из worktree

    Вернувшись в тред, Commit or push открывает лист коммита на ветке codex/change-background-color: введите сообщение, оставьте включённым Include unstaged changes (+2 -2) и выберите Commit, Commit and push или Push. Затем запись создаёт пул-реквест в main — весь поток ни разу не покинул папку worktree.

    Codex commit sheet on the codex/change-background-color branch with Include unstaged changes checked and Commit, Commit and push and Push options
    Лист коммита на ветке codex/change-background-color с опциями Include unstaged changes и Commit and push.Смотреть с 4:04

Путь через CLI и правила, которые кусаются

  1. 9

    Без приложения: запустите worktree из CLI

    Та же функция работает и без интерфейса. На записи докладчик набирает codex --worktree "Implement the new feature" в приглашении zsh внутри репозитория — Codex создаёт управляемый worktree для этого чата и запускает задачу там же, как это делает приложение. Инструменты создания и списка появились в Codex 0.162.0 для доверенных локальных проектов.

    Terminal at the alldevneeds main branch running codex --worktree with the prompt Implement the new feature to create a worktree from the CLI
    Терминал на main-ветке репозитория выполняет codex --worktree "Implement the new feature".Смотреть с 4:38
  2. 10

    Знайте правила очистки и лимит одной ветки

    Codex держит ваши 15 самых свежих управляемых worktree и подрезает старые по мере прихода новых — никогда не трогает закреплённый чат, чат в процессе или постоянный worktree, и всегда после сохранения снапшота, который можно восстановить из чата. Два жёстких края из документации: ветка может быть чекаутнута только в одном worktree за раз (используйте Handoff вместо второго чекаута), а игнорируемые файлы вроде .env не переезжают в worktree, пока вы не перечислите их в файле .worktreeinclude.

    Official OpenAI Worktrees documentation page describing how Codex uses Git worktrees to run multiple chats in parallel with terminology and getting started sections
    Официальная документация Worktrees: что такое worktree, терминология и поведение очистки.Смотреть с 4:47

Worktree в Codex не работает? Проверьте это первым делом

Большинство отказов worktree — это настройка, а не Git. Запись и официальная документация указывают на один и тот же короткий список — пройдите его сверху вниз, прежде чем трогать .git руками.

  • 1Фича-флаг выключен. Worktree под флагом: выполните codex features enable worktrees в терминале, затем полностью перезапустите приложение Codex. Отсутствие опции New local worktree в композере почти всегда значит, что этот шаг — или перезапуск — не случились.
  • 2Проект — не Git-репозиторий. Worktree работают только в проектах, входящих в Git-репозиторий, а заметки к 0.162.0 ограничивают инструменты "trusted local projects" — простая папка или недоверенный новый репозиторий не предложат опцию worktree.
  • 3Стартовая ветка уже чекаутнута в другом месте. Git допускает один worktree на ветку, поэтому выбор занятой ветки падает с fatal: 'branch' is already used by worktree at .... Стартуйте с main или другой свободной ветки, либо переместите чат через Handoff.
  • 4Ваши env-файлы не появились в worktree. Git не отслеживает .env и им подобных, поэтому они не копируются. Перечислите их в файле .worktreeinclude в корне репозитория (по одному пути на строку), и Codex скопирует их в новые worktree.
  • 5Устаревшее приложение. Запись начинается со слов "make sure you update yours to the latest version" — инструменты управляемых worktree существуют только в свежих сборках (для CLI-инструментов создания/списка — 0.162.0 и новее). Обновите, включите флаг, перезапустите и повторите.

Если worktree уже удалён, а работа была важной, сначала откройте его чат — Codex сохраняет снапшот перед очисткой worktree и умеет его восстанавливать. А если вся модель кажется тяжёлой, обычный git worktree add по-прежнему работает: Codex лишь автоматизирует ту же базовую функцию Git.

FAQ по worktree в Codex

Смежные гайды