สำหรับคนที่ทำหลายงานแบบขนานด้วย AI น่าจะใช้ Git Worktree กันบ่อยพอสมควร

แต่พอมี Worktree เยอะขึ้น การจัดการก็เริ่มยากขึ้น ไม่ว่าจะเป็นงานไหนอยู่ตรงไหน ตั๋วไหนคืออะไร หรือส่ง PR ไปหรือยัง ก็ดูภาพรวมได้ยากในทีเดียว แถมการสร้างบรাঞ্চหรือสลับ Worktree ก็ยังยุ่งยากทุกครั้งอีกด้วย

เพราะแบบนี้เลยลองทำแอปเดสก์ท็อป Grovr ขึ้นมา เพื่อช่วยจัดการ Worktree ให้ฉลาดขึ้นอีกหน่อย (ตอนนี้รองรับเฉพาะ MacOS)

ฟีเจอร์หลัก:

  • ดูรายการ Worktree ทั้งหมดได้ในหน้าจอเดียว
  • เปิด IDE ได้ด้วยคลิกเดียว (VS Code, Cursor, JetBrains IDE เป็นต้น)
  • เชื่อมต่อกับ Jira และ GitHub เพื่อตรวจสอบสถานะตั๋ว/PR
  • ดึงชื่อบรานช์จากคลิปบอร์ดอัตโนมัติและสร้าง Worktree

ใครที่ใช้ Worktree กันเยอะ ๆ ลองเอาไปใช้ดู แล้วช่วยส่งฟีดแบ็กกันหน่อยนะครับ!


เผื่อสำหรับคนที่ยังไม่รู้จัก Worktree ขอทิ้งคำอธิบายไว้ด้วย

Git Worktree คืออะไร?

เป็นฟีเจอร์ที่ทำให้สามารถ checkout หลายบรานช์จาก Git repository เดียวกันไปไว้ในไดเรกทอรีคนละแห่งได้พร้อมกัน

ลักษณะเด่น (เทียบกับบรานช์):

  • บรานช์ทั่วไป: สลับด้วย git checkout ภายในไดเรกทอรีเดียว และถ้ามีไฟล์ที่กำลังทำอยู่จะต้อง stash ก่อน
  • Worktree: สร้างไดเรกทอรีแยกตามแต่ละบรานช์ จึงทำงานหลายบรานช์พร้อมกันได้
  • โฟลเดอร์ .git ใช้ร่วมกับ repository หลัก (เป็นการลิงก์ ไม่ใช่การคัดลอก)

ตัวอย่างโครงสร้างไดเรกทอรี:
(เป็นเพียงตัวอย่างเท่านั้น จะจัดโครงสร้างแบบอื่นก็ได้)

~/projects/  
├── my-repo/  
│   ├── .git/  
│   └── ...  
└── my-repo.worktrees/  
    ├── feature/add-oauth-login/  
    └── hotfix/fix-payment-error/  

ข้อดี:

  • ทำหลายงานแบบขนานได้โดยไม่ต้องสลับบรานช์
  • สลับบริบทการทำงานได้ทันทีโดยไม่ต้อง stash
    • การเปลี่ยนแปลงใน Worktree หนึ่งจะไม่ส่งผลต่อ Worktree อื่น
  • ประหยัดพื้นที่ดิสก์มากกว่าการ clone หลายรอบ

วิธีใช้งาน:

  • สร้าง Worktree ใหม่: git worktree add <경로> <브랜치>
  • ดูรายการ Worktree: git worktree list
  • ลบ Worktree: git worktree remove <경로>

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น