Git Large File Storage

Git ขั้นสูง

Amanda Crawford-Adamo

Software and Data Engineer

Git Large File System คืออะไร?

คำสั่ง Git LFS:

git lfs
  • Git LFS: Git Large File Storage
  • แทนที่ไฟล์ขนาดใหญ่ใน repo
  • ใช้ไฟล์ pointer ขนาดเล็กแทน
  • เก็บไฟล์ขนาดใหญ่แยกจาก repo

ประโยชน์:

  1. ลดขนาด repository
  2. Clone และ fetch ได้เร็วขึ้น
  3. จัดการไฟล์ binary ได้มีประสิทธิภาพ
  4. ทำงานร่วมกันบนไฟล์ขนาดใหญ่ได้ดีขึ้น
Git ขั้นสูง

ขั้นตอนการเริ่มต้นใช้งาน Git LFS

  • เริ่มต้นใช้งาน Git LFS

    git lfs install
    
  • กำหนดไฟล์ที่ต้องการติดตามและสร้างไฟล์ .gitattributes

    git lfs track "*.csv"
    
  • เพิ่มไฟล์ .gitattributes พร้อมการตั้งค่าการติดตามลงใน git index

    git add .gitattributes
    
  • Commit การเปลี่ยนแปลง
    git commit -m "Track CSV files"
    

ภาพเคลื่อนไหวของตู้เก็บไฟล์ที่แสดงไฟล์ถูกยกขึ้น

Git ขั้นสูง

ขั้นตอนการอัปเดต Git LFS

  1. เพิ่มไฟล์ใหม่ด้วย git add
    git add large_file.csv
    
  2. Commit และ push การเปลี่ยนแปลง
    git commit -m "Update large CSV file"
    git push origin main
    
  3. ดาวน์โหลดการเปลี่ยนแปลง
    git pull
    git lfs pull  # If needed to explicitly download LFS content
    
Git ขั้นสูง

ควรใช้ Git LFS เมื่อใด

ควรใช้เมื่อ:

  1. ต้องติดตามการเปลี่ยนแปลงของชุดข้อมูลขนาดใหญ่ (CSV, JSON ฯลฯ)
  2. โมเดล machine learning
  3. ไฟล์ binary (รูปภาพ, วิดีโอ)
  4. ไฟล์บีบอัดหรือไฟล์ติดตั้งที่ต้องการ version control

ไม่ควรใช้เมื่อ:

  1. ไฟล์ขนาดใหญ่ที่อัปเดตไม่บ่อย
  2. ไฟล์ text ขนาดเล็ก เช่น โค้ด
  3. พื้นที่จัดเก็บมีจำกัดมาก
Git ขั้นสูง

แนวปฏิบัติที่ดี

  1. จัดการไฟล์ขนาดใหญ่ได้มีประสิทธิภาพ
  2. ทำงานร่วมกันในโปรเจกต์ที่มีข้อมูลหนักได้ดีขึ้น
  3. ผสานรวมกับ Git workflow ได้อย่างราบรื่น

เคล็ดลับ:

  1. เลือก track เฉพาะไฟล์ที่จำเป็น
  2. แจ้งทีมเกี่ยวกับการใช้งาน LFS
  3. ล้าง LFS cache เป็นระยะ
Git ขั้นสูง

มาฝึกกันเถอะ!

Git ขั้นสูง

Preparing Video For Download...