Ce face hermes -w și /worktree
Hermes consideră directorul curent rădăcina proiectului. Doi agenți în același checkout își pot strica reciproc fișierele; un git worktree dă fiecăruia propria ramură, propriul director și propriul istoric de checkpoint-uri. hermes -w pornește sesiunea într-un worktree temporar sub <repo>/.worktrees/. La ieșire, un worktree curat este șters împreună cu ramura lui; unul cu modificări necomise, commit-uri nepublicate sau o buclă activă (/loop, /heartbeat, /goal) este păstrat.
Din sesiune, /worktree new [nume] creează un worktree în .worktrees/, pe baza vârfului remote proaspăt descărcat, și mută uneltele de terminal și fișiere ale sesiunii în el. Cu nume, ramura este hermes/<nume>; fără nume primește hermes-<id>. La ieșire, pentru un worktree cu modificări primești întrebarea păstrare / arhivare / ștergere. /worktree simplu arată worktree-ul activ, /worktree list pe toate ale repository-ului.
Ghidul CLI notează că modul gateway implicit al hermes chat refuză --worktree / -w și indică flag-ul TUI; exemplele oficiale folosesc atât hermes -w, cât și hermes --tui -w.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
-w, --worktree |
Sesiune într-un worktree izolat sub .worktrees/. |
/worktree |
[CLI] Worktree-ul activ. |
/worktree new [nume] |
Creează un worktree și mută sesiunea în el. |
/worktree list |
Worktree-urile repository-ului. |
Exemple practice
Exemplul 1: Sesiune interactivă într-un worktree
hermes -w
Exemplul 2: Cerință unică într-un worktree
hermes -w -z "Fix issue #123"
Exemplul 3: Din sesiune
/worktree new my-experiment
Greșeli frecvente și bune practici
- Rulezi doi agenți în același checkout fără worktree. Modificările lor se amestecă și nu mai știi ce aparține cui.
- Ștergi manual
.worktrees/cât o sesiune îl folosește. La reluare, Hermes recreează worktree-ul la aceeași cale, dar modificările necomise s-ar pierde.