Skip to content

Worktree

Git Worktree คือฟีเจอร์ที่ให้เราทำงานกับหลาย branch พร้อมกันในเครื่องเดียวกันได้ โดยแต่ละ worktree จะมี working directory ของตัวเอง เหมาะกับการสลับ branch ไปมา หรือทดสอบฟีเจอร์ใหม่โดยไม่ต้อง stash/commit งานค้าง

ใช้เมื่อไหร่?

  • ต้องการทำงานกับหลาย branch พร้อมกัน เช่น dev กับ hotfix
  • ต้องการ build หรือรันโปรเจกต์แต่ละ branch แยกกัน

ตัวอย่างการใช้งาน

สร้าง worktree ใหม่จาก branch ชื่อ feature-x

bash
git worktree add ../feature-x feature-x

จะได้โฟลเดอร์ใหม่ชื่อ ../feature-x ที่เชื่อมกับ branch feature-x

ดู worktree ทั้งหมด

bash
git worktree list

ลบ worktree ที่ไม่ใช้แล้ว

bash
git worktree remove ../feature-x

ตัวอย่างสถานการณ์จริง

"กำลังพัฒนา feature ใหม่ แต่ต้อง hotfix bug ด่วน ใช้ worktree สร้างโฟลเดอร์แยกสำหรับ hotfix แล้วสลับไปมาได้ทันที ไม่ต้อง stash งาน"


Worktree ช่วยให้ workflow ยืดหยุ่นและทำงานหลาย branch พร้อมกันได้จริง