Git Worktrees

Hermes Agent اغلب روی مخزن‌های بزرگ و طولانی‌مدت استفاده می‌شود. وقتی می‌خواهید:

Git worktrees امن‌ترین راه برای دادن یک checkout جداگانه به هر عامل بدون تکرار کل مخزن هستند.

این صفحه نشان می‌دهد چگونه worktrees را با Hermes ترکیب کنید تا هر جلسه دایرکتوری کاری تمیز و ایزوله داشته باشد.

چرا از Worktrees با Hermes استفاده کنیم؟

Hermes دایرکتوری کاری فعلی را به عنوان ریشه پروژه در نظر می‌گیرد:

hermes hermes chat terminal.cwd ~/.hermes/config.yaml

اگر چندین عامل را در همان checkout اجرا کنید، تغییرات آن‌ها می‌تواند با هم تداخل داشته باشد:

با worktrees، هر عامل دریافت می‌کند:

/rollback

همچنین ببینید: نقاط بازیابی و /rollback.

شروع سریع: ایجاد یک Worktree

از مخزن اصلی خود (حاوی .git/)، یک worktree جدید برای شاخه feature ایجاد کنید:

.git/

# From the main repo root
cd /path/to/your/repo

# Create a new branch and worktree in ../repo-feature
git worktree add ../repo-feature feature/hermes-experiment

این موارد زیر را ایجاد می‌کند:

../repo-feature feature/hermes-experiment

حالا می‌توانید cd به worktree جدید کنید و Hermes را در آن اجرا کنید:

cd

cd ../repo-feature
# Start Hermes in the worktree
hermes

Hermes:

../repo-feature /rollback

اجرای عوامل متعدد به صورت موازی

می‌توانید چندین worktree ایجاد کنید، هر کدام با شاخه خود:

cd /path/to/your/repo
git worktree add ../repo-experiment-a feature/hermes-a
git worktree add ../repo-experiment-b feature/hermes-b

در ترمینال‌های جداگانه:

# Terminal 1
cd ../repo-experiment-a
hermes

# Terminal 2
cd ../repo-experiment-b
hermes

هر فرایند Hermes:

feature/hermes-a feature/hermes-b /rollback

این به ویژه مفید است وقتی:

پاک‌سازی ایمن Worktrees

وقتی آزمایشی تمام شد:

  1. تصمیم بگیرید کار را نگه دارید یا دور بریزید.
  2. اگر می‌خواهید نگه دارید: شاخه را مانند همیشه به شاخه اصلی خود ادغام کنید.
  3. worktree را حذف کنید:
cd /path/to/your/repo
# Remove the worktree directory and its reference
git worktree remove ../repo-feature

نکات:

git worktree remove git branch ~/.hermes/checkpoints/

بهترین شیوه‌ها

feature/hermes-checkpoints-docs feature/hermes-refactor-tests

checkpoints و /rollback

استفاده از hermes -w (حالت Worktree خودکار)

hermes -w

Hermes یک پرچم داخلی -w دارد که به طور خودکار یک git worktree یکبار مصرف با شاخه خود ایجاد می‌کند. نیازی به راه‌اندازی دستی worktrees نیست — فقط cd به مخزن خود کنید و اجرا کنید:

-w cd

cd /path/to/your/repo
hermes -w

Hermes:

.worktrees/ hermes/hermes-<hash>

این آسان‌ترین راه برای دریافت ایزوله worktree است. همچنین می‌توانید آن را با یک پرسش واحد ترکیب کنید:

hermes -w -z "Fix issue #123"

برای عوامل موازی، چندین ترمینال باز کنید و hermes -w را در هر کدام اجرا کنید — هر فراخوانی به طور خودکار worktree و شاخه خود را دریافت می‌کند.

hermes -w

ترکیب همه چیز

/rollback

این ترکیب به شما می‌دهد:

ویرایش این صفحه