🤖HermesBlog
Hướng dẫn Chính thức của Hermes · Parte 158/9/2026

Hướng dẫn 15: Git Worktrees — Tác nhân Song song

Hướng dẫn 15: Git Worktrees — Tác nhân Song song — hướng dẫn dễ hiểu dựa trên tài liệu chính thức

Đây là một phần trong loạt hướng dẫn chính thức của Hermes Agent. Xem tất cả các bài hướng dẫn

Hãy tưởng tượng bạn có một căn bếp nhưng có hai đầu bếp. Nếu cả hai cùng nấu trên một mặt bàn, họ sẽ va chạm khuỷu tay, làm đổ bột mì, và phá hỏng món ăn của nhau. Git worktrees cho mỗi đầu bếp một mặt bàn riêng—cùng một căn bếp, nhưng không gian làm việc tách biệt. Đó chính xác là điều tính năng này mang lại cho các tác nhân AI của bạn.


Hermes tutorial

Tại Sao Phải Bận Tâm? Vấn Đề Với Một Thư Mục Làm Việc

Hermes Agent coi thư mục bạn chạy nó là thư mục gốc của dự án. Nếu bạn khởi chạy hai tác nhân trong cùng một thư mục, chúng sẽ dùng chung mọi tệp tin. Điều đó có nghĩa là:

  • Tác nhân A có thể xóa một tệp tin mà tác nhân B đang chỉnh sửa.
  • Bạn không thể biết thay đổi nào đến từ thí nghiệm nào.
  • Việc khôi phục trở nên rối rắm—thao tác hoàn tác của một tác nhân có thể xóa sạch công việc của tác nhân kia.

Worktrees giải quyết vấn đề này bằng cách cho mỗi tác nhân:

  • Nhánh riêng (để các thay đổi không xung đột)
  • Thư mục làm việc riêng (để các tệp tin không va chạm)
  • Lịch sử checkpoint riêng (để /rollback chỉ ảnh hưởng đến tác nhân đó)

Bước 1: Tạo Worktree (Lệnh Cơ Bản)

Từ kho lưu trữ chính của bạn (kho có chứa .git/ bên trong), chạy:

git worktree add ../my-agent-folder -b my-feature-branch

Hãy phân tích lệnh này:

  • ../my-agent-folder – nơi thư mục mới sẽ được tạo (bên ngoài kho lưu trữ chính của bạn)
  • -b my-feature-branch – tạo một nhánh mới cho tác nhân này

Giờ bạn đã có một bản sao hoàn toàn mới và tách biệt của dự án.


Bước 2: Trỏ Hermes Đến Worktree

Bạn có thể sử dụng worktree theo hai cách:

Tùy chọn A: CLI (đơn giản nhất)
Chỉ cần cd vào worktree và chạy Hermes ở đó:

cd ../my-agent-folder
hermes chat

Tùy chọn B: Cổng nhắn tin (như Slack hoặc Discord)
Nếu bạn dùng cổng nhắn tin, hãy sửa ~/.hermes/config.yaml và đặt terminal.cwd thành đường dẫn worktree:

terminal:
  cwd: /path/to/my-agent-folder

Giờ mọi tin nhắn mà tác nhân đó nhận được sẽ hoạt động bên trong thư mục tách biệt đó.


Bước 3: Chạy Nhiều Tác Nhân Song Song

Tạo bao nhiêu worktree tùy theo nhu cầu của bạn:

git worktree add ../agent-experiment-1 -b exp-1
git worktree add ../agent-experiment-2 -b exp-2

Sau đó khởi chạy một phiên Hermes trong mỗi thư mục. Chúng sẽ không bao giờ đụng vào tệp tin của nhau, và mỗi tác nhân có nhánh riêng để commit.


Bước 4: Dọn Dẹp Khi Xong Việc

Khi một thí nghiệm hoàn tất, hãy xóa worktree:

git worktree remove ../agent-experiment-1
git branch -d exp-1

Lệnh đầu tiên xóa thư mục; lệnh thứ hai xóa nhánh. Kho lưu trữ chính của bạn vẫn sạch sẽ.


Những Điểm Chính Cần Nhớ

  • Worktrees rất rẻ – chúng không sao chép toàn bộ kho lưu trữ, chỉ sao chép các tệp tin bạn cần.
  • Mỗi tác nhân có lịch sử /rollback riêng – không còn thảm họa hoàn tác chéo giữa các tác nhân.
  • Sử dụng nhánh một cách thông minh – đặt tên rõ ràng (ví dụ: refactor-login, fix-bug-42) để bạn biết mỗi tác nhân đã làm gì.

Tóm Tắt

Git worktrees cho phép bạn chạy nhiều tác nhân Hermes trên cùng một dự án mà không lo chúng giẫm chân nhau. Tạo một worktree cho mỗi tác nhân, trỏ Hermes đến đó, và xong. Giống như việc cho mỗi đầu bếp một cái thớt riêng—cùng một căn bếp, không va chạm.

Tiếp theo: Trong Bài hướng dẫn 16, chúng ta sẽ triển khai Hermes với Docker — một trợ lý tự phục hồi, luôn hoạt động.

📖 Tài liệu chính thức

この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › user-guide/git-worktrees