Skip to content

Lệnh CLI / zenify wt sweep

zenify wt sweep ​

Dọn mọi worktree đã merge và sạch trong repo, dừng dev server của chúng trước khi gỡ.

Cú pháp ​

text
zenify wt sweep [flags]

Khi nào dùng ​

Sau khi PR đã merge, hoặc định kỳ khi workspace tích nhiều worktree cũ. Hook đầu session in một dòng nhắc số worktree có thể dọn.

Kết quả ​

Với mỗi worktree, lệnh quyết định gỡ hay giữ và in lý do. Chỉ gỡ worktree do wt tạo, đang ở branch thật, branch đã có dấu vết merge trong base và cây làm việc sạch. Trước khi gỡ, nó dừng dev server đang giữ port của worktree đó. Với mỗi worktree gỡ xong, lệnh xóa branch remote cùng tên khi đầu branch remote vẫn là commit mà wt new tạo branch ra (chưa ai commit lên đó), ngược lại giữ và in lý do (cùng quy tắc với zenify wt rm). Hệ quả: một task chưa có commit nào cũng mất branch remote khi bạn chạy wt sweep hoặc wt sweep --all tường minh. Lệnh tự dọn bên trong wt new thì luôn giữ branch remote. Mục state trỏ tới thư mục đã mất cũng được dọn. Cuối cùng in wt: swept N, left M. Dọn xong, lệnh chạy tiếp zenify docs sweep (không fetch): với --dry-run chỉ in kế hoạch, không có thì --apply.

Cờ ​

CờÝ nghĩa
-n, --dry-runChỉ báo sẽ gỡ gì, không đụng vào đâu.
-f, --fetchFetch origin trước để trạng thái merge không bị cũ.
--allDọn mọi repo có cấu hình worktree trong workspace. Luôn fetch từng repo, mỗi repo tối đa 5 giây, repo lỗi bị bỏ qua.

Ví dụ ​

bash
zenify wt sweep --dry-run
zenify wt sweep --fetch
zenify wt sweep --all

Lưu ý ​

Không fetch mà base cũ, một branch đã merge có thể bị đọc là chưa merge và được giữ lại. Khi thấy nhiều mục "left alone" bất ngờ, chạy lại với --fetch.

Lệ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.