תיעוד 18
עצי עבודה
סשן של עץ עבודה רץ בעותק מבודד של המאגר שלך, כך שסוכנים מקבילים לא יכולים לדרוס זה את הקבצים של זה. עצי עבודה דורשים מאגר git, נמצאים תחת ~/.grok/worktrees/<repo>/<name>, ומתחילים מ-HEAD הנוכחי, כולל שינויים שעדיין לא נשמרו ב-commit. גם סוכני משנה יכולים לבקש בידוד בעץ עבודה כשההורה מחלק עבודה מקבילית.
#התחלה
grok -w
grok --worktree=feat "refactor module X"
# = keeps the prompt out of the name
grok -w --ref main "fix the flaky test"
# clean checkout of the ref
grok -w -r <session-id>
# resume in a fresh worktreeבממשק TUI, /fork --worktree מפצל את הסשן הנוכחי לעץ עבודה. Ctrl+W במסך הפתיחה פותח את תיבת הדו-שיח New Worktree, ו-Ctrl+W בלוח הבקרה של הסוכן מפעיל סוכנים חדשים בעצי עבודה. אפשר להגדיר אם /new ו-/fork יציעו עץ עבודה: ראו ערכי TOML.
עץ עבודה הוא checkout אמיתי של git, במצב detached על ה-commit הבסיסי שלו. מיישמים שינויים בעזרת פקודות git רגילות.
#תחזוקה
עצי עבודה נשארים עד שמסירים אותם: סיום או מחיקה של סשן משאירים את עץ העבודה במקום, ו-gc רץ רק כשמפעילים אותו.
| פקודה | מה היא עושה |
|---|---|
grok worktree list | מציג את עצי העבודה במעקב |
grok worktree show <id> | מציג פרטים על עץ עבודה אחד |
grok worktree rm <ids...> | מסיר עצי עבודה (--dry-run לתצוגה מקדימה) |
grok worktree gc | מסיר רשומות שהתיקייה שלהן כבר לא קיימת. --max-age 7d גם מפקיע עצי עבודה לא פעילים שאינם בשימוש של תהליך רץ |