Worktree - równoległe zadania w osobnych kopiach repo
/worktree rozpoczyna lub wznawia czat w zarządzanym worktree Git, czyli osobnym checkoutcie lokalnego repozytorium. Każdy worktree ma własną kopię plików repozytorium, ale współdzieli metadane Git dotyczące commitów i gałęzi. Dzięki temu Codex może prowadzić kilka niezależnych czatów w jednym projekcie bez wzajemnego zakłócania pracy.
Aby rozpocząć, w widoku nowego czatu wybierz **Worktree** pod polem wpisywania, a następnie wskaż gałąź, na której ma bazować nowy checkout. Po wysłaniu polecenia Codex tworzy worktree na podstawie wybranej gałęzi; domyślnie pracuje w stanie detached HEAD. Możesz dalej pracować bezpośrednio w worktree albo przekazać czat do lokalnego checkoutu, przenosząc między nimi czat i kod.
Worktree sprawdza się, gdy chcesz oddelegować pracę w tle i nie naruszać bieżącego lokalnego środowiska. Możesz później przenieść czat do Local, aby obejrzeć zmiany w swoim zwykłym IDE lub sprawdzić je w używanym na co dzień środowisku. Przekazanie działa także w drugą stronę: z Local do worktree, gdy chcesz zwolnić pierwszy plan i pozwolić Codexowi kontynuować pracę w tle.
Worktree wymaga repozytorium Git, a tej samej gałęzi nie można jednocześnie checkoutować w worktree i lokalnym checkoutcie. Jeśli chcesz sprawdzić lokalnie gałąź utworzoną w worktree, użyj **Hand off**, zamiast próbować checkoutować tę samą gałąź w obu miejscach. Pliki ignorowane przez Git nie przechodzą z czatem, chyba że Codex skopiuje je do lokalnego zarządzanego worktree na podstawie .worktreeinclude.
/worktree, aby rozpocząć czat w osobnym, zarządzanym checkoutcie repozytorium./worktree
Zastosowanie w praktyce
Gdy masz bieżącą pracę w Local, uruchom czat w worktree, by równolegle zlecić Codexowi niezależne zadanie bez zakłócania lokalnego checkoutu. To dobry wybór, gdy możesz sprawdzać zmiany bezpośrednio w worktree, na przykład dzięki zależnościom i narzędziom zainstalowanym przez skrypt konfigurujący lokalne środowisko. Gdy chcesz przejrzeć zmiany w zwykłym IDE, uruchomić istniejący serwer deweloperski albo zweryfikować pracę w codziennym środowisku, przekaż czat do Local. Jeśli zadanie wymaga lokalnego pliku konfiguracyjnego ignorowanego przez Git, skonfiguruj .worktreeinclude, bo takie pliki nie przechodzą automatycznie wraz z czatem.
.worktreeinclude; Codex kopiuje tylko ignorowane pliki, które pasują do tej listy.