Git worktrees: ฐานสำหรับการรัน AI agents หลายตัวโดยไม่มีความขัดแย้ง

เอเจนต์ของคุณเขียนทับกันเมื่อทำงานพร้อมกัน Git worktrees แก้ไขปัญหานี้ในสองคำสั่ง นี่คือวิธีการใช้งาน

คุณเปิดใช้งานเอเจนต์สองตัวใน repo เดียวกัน หนึ่งตัวแก้ไข package.json อีกตัวก็เช่นกัน หลังจากนั้นสามสิบวินาที โค้ดของคุณอยู่ในสถานะที่ไม่มีใครสามารถรวมได้

นั่นไม่ใช่ข้อผิดพลาดในเอเจนต์ของคุณ มันคือพวกเขาทั้งหมดทำงานในโฟลเดอร์เดียวกัน

การแก้ไขคือเครื่องมือที่ Git มีมาหลายปีและแทบไม่มีใครใช้: git worktree

ปัญหา: 3 เอเจนต์, 1 repo, การรวมที่เป็นไปไม่ได้

repo Git ปกติคือโฟลเดอร์หนึ่งที่มีสาขาหนึ่งที่ถูกเช็คเอาท์ในเวลาเดียวกัน คุณทำงานบน main คุณสลับสาขา โฟลเดอร์ทั้งหมดจะพลิกกลับ

ตอนนี้ใส่เอเจนต์อิสระสามตัวลงในโฟลเดอร์นั้น พวกเขาเขียนพร้อมกัน เอเจนต์ A สร้างไฟล์ เอเจนต์ B รัน git checkout เพื่อเริ่มใหม่และลบงานที่กำลังดำเนินการของ A คุณจะได้ไฟล์ที่เขียนไม่เสร็จ ดัชนีที่เสียหาย และความขัดแย้งที่ใช้เวลานานกว่าจะคลี่คลายมากกว่าถ้าคุณเขียนมันเอง

การทำงานขนานช่วยประหยัดเวลาได้ก็ต่อเมื่อเอเจนต์ไม่แตะต้องกัน

git worktree คืออะไร

worktree คือโฟลเดอร์ทำงานที่สองที่เชื่อมต่อกับ repo เดียวกัน

ประวัติเดียวกัน, ระยะไกลเดียวกัน แต่ละ worktree มีสาขาของตัวเองที่ถูกเช็คเอาท์และไฟล์ของตัวเองในดิสก์ คุณสามารถมีห้าอันข้างกัน แต่ละอันอยู่บนสาขาที่แตกต่างกัน โดยไม่ให้พวกเขาเข้ามาแทรกแซงกัน

หนึ่ง .git, หลายพื้นที่ทำงาน นั่นแหละ

Worktree หนึ่งอันต่อเอเจนต์, ในทางปฏิบัติ

นี่คือการตั้งค่า จาก repo ของคุณ:

git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export

คุณเพิ่งสร้างโฟลเดอร์สามอัน แต่ละอันอยู่บนสาขาของตัวเอง คุณเริ่มเอเจนต์ในแต่ละอัน:

cd ../project-auth && claude
cd ../project-billing && codex

แต่ละเอเจนต์มีโฟลเดอร์ของตัวเอง สาขาของตัวเอง ไฟล์ของตัวเอง เอเจนต์ auth จะไม่เห็นสิ่งที่เอเจนต์ billing ทำ ไม่มีการชนกันเป็นไปได้

เมื่อฟีเจอร์พร้อม คุณตรวจสอบสาขาของมันและรวม จากนั้นคุณทำความสะอาด:

git worktree remove ../project-auth

โฟลเดอร์หายไป สาขายังคงอยู่ในประวัติของคุณ สะอาด

3 กับดักที่ต้องรู้

กับดักแรก, ไฟล์กลางที่แชร์กัน หากฟีเจอร์สองฟีเจอร์ต้องแตะต้อง routes.ts หรือ schema ฐานข้อมูลเดียวกัน worktrees จะไม่ช่วยคุณ คุณจะได้รับความขัดแย้งในเวลารวม เอเจนต์หนึ่งแตะต้องไฟล์ที่ทุกคนแชร์ คนอื่น ๆ รอหรือล้อมรอบมัน

ประการที่สอง, สาขาที่เบี่ยงเบน ขณะที่เอเจนต์ของคุณทำงาน main ย้ายไปข้างหน้า สามวันต่อมาสาขาของคุณล้าหลังและการรวมกลายเป็นเรื่องเจ็บปวด รีเบสบ่อย ๆ หรือทำให้เซสชันสั้นลง

ประการที่สาม, การทำความสะอาดที่ถูกลืม แต่ละ worktree เป็นโฟลเดอร์จริงบนดิสก์ของคุณ สิบอันต่อวันโดยไม่มีการทำความสะอาด และโฟลเดอร์หลักของคุณจะอ่านไม่ออก git worktree list แสดงสิ่งที่อยู่รอบ ๆ git worktree prune ลบอันที่ตายแล้ว

คำถามที่แท้จริง: ใครดูห้าโฟลเดอร์?

Worktrees แก้ปัญหาการชนกันของไฟล์ พวกเขาไม่แก้ปัญหาภาระทางจิตใจของคุณ

คุณมีโฟลเดอร์ห้าอัน เอเจนต์ห้าอัน เทอร์มินัลห้าอัน อันไหนรอการตรวจสอบของคุณ? อันไหนเสร็จเมื่อสิบนาทีที่แล้วในขณะที่คุณมองไปที่อื่น? อันไหนล้มเหลว?

นั่นคือจุดที่ worktree หนึ่งอันต่อเอเจนต์มีขีดจำกัดหากคุณอยู่ในเทอร์มินัล คุณแก้ปัญหาความขัดแย้งทางเทคนิค แต่คุณเพิ่มจำนวนหน้าต่างที่ต้องดู

AgentsRoom วางเอเจนต์แต่ละตัวบนกระเบื้อง พร้อมสถานะและสีของมัน ไม่ว่าวิ่งใน worktree ไหน เอเจนต์ที่รอจะเปลี่ยนเป็นสีแดงและส่งเสียงเตือนคุณ อ่าน วิธีรัน 3 ถึง 8 เอเจนต์ในขนานโดยไม่สูญเสียการติดตาม สำหรับวิธีการทั้งหมดบน worktrees

สิ่งที่ควรนำไปใช้

เอเจนต์หนึ่งตัว, worktree หนึ่งอัน, สาขาหนึ่งอัน นั่นคือกฎพื้นฐานของการทำงานหลายเอเจนต์อย่างจริงจัง

คำสั่งพอดีในสามบรรทัด ผลประโยชน์คือทันที: เอเจนต์ของคุณหยุดเขียนทับกัน เพิ่มมุมมองที่บอกคุณว่าอันไหนต้องการคุณ และคุณสามารถทำงานห้าตำแหน่งในขนานโดยไม่สูญเสียสติของคุณ

ดาวน์โหลด AgentsRoom

เรียกใช้ AI agents ของคุณ (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) ในทุกโปรเจกต์ของคุณจากหน้าต่างเดียว

ฟรีดาวน์โหลด AgentsRoom

แอปคู่หู: ตรวจสอบตัวแทนของคุณได้ทุกที่

นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ

รับส่วนขยาย
Chrome Web Store

ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง

มองเห็น AgentsRoom ในการทำงาน

หลายโปรเจกต์
ผู้ให้บริการหลายราย
หลาย agents
สถานะสด
ไฟล์ diff & commit
คู่หูมือถือ
ตัวอย่างสด
ทีมตัวแทน
การทำงานอัตโนมัติในเบราว์เซอร์
การพัฒนาที่ขับเคลื่อนด้วย backlog
ห้องสมุดคำสั่ง
ห้องสมุดทักษะ
ดูฟีเจอร์ทั้งหมด