git worktree แก้ปัญหา context switching ได้ดีกว่า stash
worktree ให้มีหลาย branch active พร้อมกันโดยไม่ต้อง stash หรือ commit กลางคัน
ปัญหาที่เจอบ่อย: กำลังทำฟีเจอร์ A อยู่ครึ่งทาง มีคนรายงาน bug บน main ต้องแก้ด่วน → ต้อง git stash หรือ commit งานค้าง → checkout main → แก้ bug → กลับมา branch เดิม → pop stash
git worktree แก้ได้โดยไม่ต้อง switch branch เลย:
# สร้าง worktree ใหม่สำหรับ hotfix
git worktree add ../project-hotfix main
# แก้ bug ใน worktree แยก
cd ../project-hotfix
# ... แก้ไฟล์, commit, push
# กลับมา worktree หลัก — งานเดิมยังอยู่ครบ
cd ../project
git worktree remove ../project-hotfix
แต่ละ worktree มี working directory แยกกัน แต่ share git history เดียวกัน เหมือนเปิด repo เดียวกันในสอง folder พร้อมกัน
เหมาะมากกับงานที่มี hotfix บ่อย หรือต้องรัน dev server หลาย branch พร้อมกัน