Chuyển đến nội dung chính
Quay lại danh sách bài viết

Sparse Checkout ทำงานเฉพาะบางโฟลเดอร์ใน Monorepo

sparse checkout จำกัดไฟล์ที่ปรากฏใน working tree ตามส่วนที่ผู้ใช้เลือก อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

Sparse Checkout ทำงานเฉพาะบางโฟลเดอร์ใน Monorepo

sparse checkout จำกัดไฟล์ที่ปรากฏใน working tree ตามส่วนที่ผู้ใช้เลือก เหมาะกับ monorepo ที่มีโค้ดหลายทีมและไม่ต้องแก้ทุกส่วนพร้อมกัน บทความนี้สรุปแนวคิดจากเอกสารทางการของ Git และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

Git บันทึกประวัติเป็น commit และแยกงานด้วย reference เช่น branch คำสั่งต่าง ๆ อาจเปลี่ยนไฟล์ทำงาน index หรือประวัติ จึงควรตรวจผลก่อนใช้กับงานร่วมกัน

หัวข้อนี้ตอบโจทย์เฉพาะเรื่อง: sparse checkout จำกัดไฟล์ที่ปรากฏใน working tree ตามส่วนที่ผู้ใช้เลือก จึงควรเริ่มจากปัญหาที่ต้องแก้และผลลัพธ์ที่คาดหวัง ไม่ใช่เพียงเปิดฟีเจอร์เพราะมีอยู่ในเครื่องมือ

หลักการทำงาน

Git ยังคงจัดการประวัติ repository แต่แสดงเฉพาะ path ที่จำเป็นต่อการทำงาน

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

เหมาะกับงานแบบไหน

เหมาะกับ monorepo ที่มีโค้ดหลายทีมและไม่ต้องแก้ทุกส่วนพร้อมกัน

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

ขั้นตอนนำไปใช้

  1. สร้าง branch หรือ worktree ทดสอบและบันทึก commit hash
  2. ดู git status และ git log ก่อนและหลังใช้คำสั่ง
  3. ตรวจ diff และรันทดสอบที่เกี่ยวข้องก่อนส่งงาน

เริ่มจากขอบเขตเล็กและเก็บผลทดสอบไว้กับการเปลี่ยนแปลง หากจะใช้ใน production ให้กำหนดผู้ติดตามผลและเงื่อนไขที่จะหยุดการขยายการใช้งาน

ข้อควรระวัง

เครื่องมือ build บางตัวอาจคาดว่ามีไฟล์ทั้ง repo จึงต้องทดสอบ workflow ของทีม

แปลงข้อควรระวังนี้เป็นรายการตรวจในการทบทวนงาน เพราะปัญหาจากค่าตั้งต้นอาจไม่แสดงทันทีในสภาพแวดล้อมทดสอบ

สรุป

sparse checkout จำกัดไฟล์ที่ปรากฏใน working tree ตามส่วนที่ผู้ใช้เลือก เหมาะกับ monorepo ที่มีโค้ดหลายทีมและไม่ต้องแก้ทุกส่วนพร้อมกัน ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

อ่านเพิ่มเติม: เอกสารทางการของ Git

Chia sẻ bài viết:
Xem thêm bài viết