mẹo nếu bạn đang chuyển từ cc sang codex và bỏ lỡ cờ `--worktree`, đây là một cách giải quyết name=$(grep -E '^[a-z]{4,10}$' /usr/share/dict/words | shuf -n 3 | paste -sd- -) && git worktree add -b "worktree-$name" ".codex/worktrees/$name" && codex -C ".codex/worktrees/$name" lưu nó như một phím tắt trong `.zshrc` của bạn và bạn đã có tương đương, trừ việc tự động dọn dẹp
và đây là một phần của lệnh này cho phép bạn làm điều gì đó trong codex mà bạn KHÔNG THỂ làm với `--worktree` của cc nó giới hạn codex vào worktree để nó không bị nhầm lẫn hoặc cố gắng chạy thử nghiệm hoặc viết mã bên ngoài nó name=$(grep -E '^[a-z]{4,10}$' /usr/share/dict/words | shuf -n 3 | paste -sd- -) && wt=".codex/worktrees/$name" && git worktree add -b "worktree-$name" "$wt" && codex -C "$wt" -s workspace-write -a never -c 'sandbox_workspace_write.network_access=true' biến worktree mới thành gốc workspace, giữ codex trong `workspace-write`, vô hiệu hóa các thông báo phê duyệt với `-a never`, và cho phép truy cập mạng bên trong sandbox đó.
một phiên bản nữa có thể cho phép codex xử lý các thao tác git như commit/push/pr nhưng vẫn giữ nguyên hàng rào worktree codex vẫn giữ vị trí trong worktree mới như không gian làm việc của nó, có thể chỉnh sửa và chạy các lệnh ở đó, và có thể sử dụng mạng bên trong `workspace-write` nhờ vào việc ghi đè cấu hình nếu một hành động git cần bước ra ngoài sandbox không gian làm việc, như một số ghi metadata hoặc các thao tác được bảo vệ khác, codex có thể dừng lại và yêu cầu phê duyệt thay vì chỉ đơn giản là thất bại name=$(grep -E '^[a-z]{4,10}$' /usr/share/dict/words | shuf -n 3 | paste -sd- -) && wt=".codex/worktrees/$name" && git worktree add -b "worktree-$name" "$wt" && codex -C "$wt" -s workspace-write -a on-request -c 'sandbox_workspace_write.network_access=true'
1,9K