{
  "id": 14322617,
  "title": "Taming Huge Git Repos: Partial Clone, Sparse-Checkout and Scalar in Practice",
  "url": "https://urgent.news/2026/10/13/taming-huge-git-repos-partial-clone-sparse-checkout-and-scalar-in",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-13T23:45:31.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/eme_gug_0821b41b948be6516/taming-huge-git-repos-partial-clone-sparse-checkout-and-scalar-in-practice-6m9"
  },
  "original_language": "en",
  "account": "Trong bài viết này, tác giả chia sẻ những kỹ thuật để tối ưu hóa việc làm việc với các repo lớn trong monorepo. Trước khi tối ưu hóa, repo sẽ chậm do nhiều yếu tố như: blob lớn, nhiều file trong working tree và history dài. Tác giả khuyến nghị sử dụng script Python để phát hiện blob lớn trong repo.\n\nTối ưu hóa monorepo được thực hiện qua hai phương án: partial clone và sparse-checkout. Partial clone giúp tải blob chỉ khi cần thiết, giảm dung lượng download và thời gian download. Hiện tại, partial clone hỗ trợ từ Git 2.22 trở đi.\n\nSparse-checkout giúp chỉ checkout các file cần thiết cho dự án của mình. Nó có hai mode: cone và pattern. Dùng cone mode giúp tăng tốc trừ khi sử dụng pattern kiểu .gitignore. Kết hợp partial clone và sparse-checkout giúp giảm dung lượng download cho từng team member, mỗi người chỉ cần download vài trăm MB thay vì toàn bộ repo.",
  "summary": "Tuần này trên HN có bài về việc Anthropic thiết kế lại hệ thống source control nội bộ. Đọc xong mình thấy quen, vì team nào để monorepo phình lên vài chục GB cũng sẽ gặp đúng những vấn đề đó: git clone mất 40 phút, git status chạy 8 giây, CI thì tốn phần lớn thời gian để kéo code về. Phần lớn chúng ta không cần (và cũng không nên) tự viết VCS riêng. Git bản hiện đại đã có sẵn công cụ để xử lý…",
  "key_points": [
    "Partial clone reduces download size and time in Git repositories",
    "Sparse-checkout allows checking out only necessary files for projects",
    "Combining partial clone and sparse-checkout minimizes download for each team member"
  ],
  "editors_take": "Combining partial clones with sparse-checkout transforms monorepo management by allowing developers to download only essential data, significantly reducing local storage requirements and accelerating development workflows for large-scale projects.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}