Appearance
Lệnh CLI / zenify wt rm
zenify wt rm
Gỡ một worktree đã xong việc, từ chối khi còn thay đổi chưa commit hoặc branch chưa merge.
Cú pháp
text
zenify wt rm <slug> [flags]Khi nào dùng
Khi một task đã merge và bạn muốn dọn worktree cùng branch của nó. Để dọn mọi task đã merge một lượt, dùng zenify wt sweep.
Kết quả
Lệnh gỡ worktree khỏi git, xóa branch cục bộ, xóa branch cùng tên trên origin và cập nhật state của repo. Branch remote chỉ bị xóa khi nó đúng là branch wt new đã ghi cho slug này, không phải branch base (của cấu hình hoặc base mà worktree này được tách ra) hay branch deploy (.claude/deploy-branches, cùng main, master, staging, develop, production), và đầu branch trên origin vẫn đúng là commit mà wt new tạo branch ra (chưa ai commit lên đó, kể cả commit đã merge vào base sau này). Chỉ branch do chính wt new đẩy lên origin mới có commit xuất phát này: branch đã có sẵn trên origin trước đó (ví dụ khi dùng --base origin/<branch đó>), hoặc worktree do bản wt cũ tạo, luôn được giữ kèm dòng giải thích. Worktree đã bị chuyển sang branch khác thì lệnh giữ branch đó và in kept origin/<branch>: not a wt task branch. Các lệnh gọi mạng bị giới hạn 20 giây. Nếu branch remote đã có commit, lệnh giữ nguyên và in kept origin/<branch>: it has commits. Lỗi khi xóa remote chỉ in cảnh báo. Trước đó nó kiểm tra và từ chối trong ba trường hợp, mỗi trường hợp một thông điệp riêng:
- còn thay đổi chưa commit,
- đang ở detached HEAD,
- branch chưa có dấu vết merge trong base.
Lệnh fetch origin trước khi kiểm tra merge, nên một PR vừa merge sau lần fetch trước vẫn được nhận ra. Branch được tính là đã merge khi nó nằm trong baseRef hoặc trong base mà wt new đã tách worktree ra (ghi ở wt.base). Nhờ vậy một hotfix đã merge vào base hotfix (ví dụ main) cũng gỡ được mà không cần --force.
Bạn có thể gọi thử mà không sợ mất việc chưa land.
Cờ
| Cờ | Ý nghĩa |
|---|---|
-f, --force | Gỡ kể cả khi dirty, detached hoặc chưa merge. Dùng khi branch đã squash-merge nên không còn dấu vết merge. |
Ví dụ
bash
zenify wt rm session-timeout
zenify wt rm session-timeout --forceLệnh liên quan
- zenify wt: Nhóm lệnh quản lý worktree theo slug: tạo, liệt kê, gỡ, dọn, kèm port và môi trường dev riêng cho từng task.