Strategi "Diet" Repositori: Menguasai Git Sparse Checkout 🚀

Fakhrul Rijal   |   Balikpapan   |   16 Februari 2026
Git Sparse Checkout Visualization

Why: Mengapa Kita perlu Melakukan Ini? 🤔

Pernahkah kamu merasa repositori proyekmu tumbuh menjadi "monster"? Di blog Layar Kosong, ribuan file HTML adalah inti dari segalanya, namun folder img/ seringkali berisi ribuan aset visual yang ukurannya bergiga-giga. Masalah muncul saat kita harus bekerja di perangkat dengan penyimpanan terbatas atau saat koneksi internet sedang tidak bersahabat di Balikpapan.

Sparse Checkout hadir sebagai solusi "bedah plastik" untuk repositori Git. Alih-alih mengunduh dan menampilkan seluruh isi folder, kita bisa memilih secara spesifik folder mana yang ingin kita munculkan di lokal kita tanpa menghapusnya dari server GitHub.

What: Apa Itu Sparse Checkout Sebenarnya? 🧠

Secara harfiah, sparse berarti jarang atau tipis. Dalam konteks Git, teknik ini memungkinkan kita untuk melakukan checkout hanya pada subset file dari pohon kerja (working tree). Bayangkan sebuah perpustakaan raksasa; Sparse Checkout memungkinkan kamu hanya mengambil buku di rak "Teknologi" tanpa perlu menyentuh rak "Sejarah" atau "Seni", meskipun kamu memegang kunci seluruh perpustakaan tersebut.

How: Langkah Demi Langkah Eksekusi Hemat 🛠️

1. Clone Tanpa Beban (Initial Step)

Langkah pertama pakai github CLI, Git Sparse Checkout Solusi Hemat Storage Penyimpanan dimulai saat proses clone. Kita menggunakan filter blob:none agar Git tidak mengunduh isi file besar sampai kita benar-benar membutuhkannya.

  • Linux
  • gh auth login
    gh repo clone frijal/LayarKosong -- --filter=blob:none --sparse --depth 1
  • WIndows
  • winget install --id GitHub.cli
    winget install --id Git.Git
    gh auth login
    gh repo clone frijal/LayarKosong -- --filter=blob:none --sparse --depth 1
  • Mac
  • brew install git gh
    gh auth login
    gh repo clone frijal/LayarKosong -- --filter=blob:none --sparse --depth 1
  • Langsung Tancap Gas!

2. Masuk ke dalam Folder yang barusan di Clone

contoh kita tadi pakai repo bernama LayarKosong.

cd LayarKosong

2. Keluar dari Mode Cone

Git modern menggunakan mode Cone secara default (hanya mendukung folder utuh). Karena kita ingin menggunakan pola pengecualian (tanda seru !), kita harus mematikannya.

git config core.sparseCheckoutCone false
git sparse-checkout init

3. Menetapkan Aturan "Gaib"

Ini adalah bagian inti. Kita memberitahu Git untuk mengambil semua file di semua folder (/*), tapi abaikan folder img/ dan .github/workflows/ secara spesifik.

git sparse-checkout set --no-cone "/*" "!/img/" "!/.github/workflows/"

Seketika, folder img/ dan .github/workflows/ akan menghilang dari File Explorer, namun mereka tetap berada di dalam server repo Github, dan status repositori kamu tetap clean, aman sentosa.

Where & When: Dimana Aturan Ini Disimpan? 📍

Aturan Sparse Checkout tersimpan di folder rahasia, dengan nama .git/info/sparse-checkout. Karena folder .git ini terbawa saat kamu memindahkan hardisk antar komputer, konfigurasi diet ini akan tetap berlaku otomatis di mana pun hardisk itu dicolokkan. Kamu tidak perlu melakukan setting ulang setiap kali pindah perangkat!

Penting: Jika folder yang kamu abaikan tetap muncul, kamu mungkin perlu memicu sinkronisasi ulang index dengan perintah:
git read-tree -mu HEAD

Who: Siapa yang Mendapatkan Manfaat Terbesar? 👥

Teknik ini sangat krusial bagi aku di Layar Kosong yang sering melakukan otomasi. Dengan mengabaikan folder gambar dan workflow, proses git status, git add, dan git pull menjadi jauh lebih cepat karena Git tidak perlu memindai ribuan file gambar yang statis.