Untuk menambahkan satu direktori ke sparse checkout yang sudah ada di Mac Anda, buka Terminal, buka direktori utama (root) repositori, dan jalankan git sparse-checkout add 'path/to/directory'. Git membuat file yang dilacak di bawah direktori tersebut tersedia di working tree sambil tetap mempertahankan pilihan sparse-checkout lainnya. Jika repositori belum sparse, gunakan git sparse-checkout set --cone 'path/to/directory' untuk mengaktifkan mode cone dan memilih direktori tersebut; perintah ini menetapkan pilihan, sehingga dapat menghapus file terlacak lainnya dari working tree.
Sebelum Anda menjalankan perintah
Sparse checkout mengubah file terlacak mana saja yang muncul di working tree repositori. File di luar area yang dipilih tetap dilacak oleh Git; file-file tersebut tidak dihapus dari riwayat repositori. Dalam mode cone default, Git menyertakan semua yang ada di bawah direktori yang dipilih, ditambah file yang berada langsung di dalam direktori induknya dan root repositori. Itu berarti menambahkan direktori bersarang juga dapat membuat file tingkat atas atau tingkat induk di dekatnya menjadi terlihat. Panduan sparse-checkout Git
Buka Terminal dan pastikan Git tersedia, lalu masuk ke repositori. Sebagai contoh, ganti path sampel dengan lokasi checkout Anda:
git --version
cd "$HOME/Projects/sample-repo"
git status --short
Pada Mac yang belum terpasang alat baris perintah Git, memanggil git dapat memunculkan perintah untuk menginstal Command Line Tools Apple. Ikuti petunjuk macOS, lalu jalankan git --version lagi. Apple: Menginstal Command Line Tools
Gunakan git status --short untuk memeriksa perubahan lokal sebelum mengubah pilihan sparse. Amankan pekerjaan penting yang belum di-commit atau belum dilacak, terutama jika pekerjaan tersebut berada di dalam direktori yang mungkin menjadi dikecualikan. Jalankan perintah sparse-checkout dari dalam repositori, dan gunakan path yang relatif terhadap direktori root-nya. Beri tanda kutip pada path yang mengandung spasi atau metakarakter shell, seperti dalam contoh, agar zsh atau bash meneruskan path ke Git sebagai satu argumen.
Menambahkan direktori ke sparse checkout yang sudah ada
Jika sparse checkout sudah diaktifkan, tambahkan direktori dengan:
git sparse-checkout add 'Packages/Map View'
Ganti Packages/Map View dengan path direktori seperti yang muncul di repositori. Dalam mode cone, ini akan menambahkan direktori tersebut ke pilihan saat ini alih-alih menggantikan direktori terpilih lainnya. Dokumentasi Git menyatakan bahwa add membutuhkan sparse checkout yang sudah ada; ini akan memperbarui pilihan dan working tree. Referensi perintah sparse-checkout Git
Untuk memeriksa direktori yang dipilih setelahnya, jalankan:
git sparse-checkout list
git status --short
Daftar tersebut menampilkan direktori sparse-checkout. Status membantu Anda melihat apakah file yang dilacak atau tidak dilacak mengalami modifikasi; status tidak menampilkan file terlacak yang diabaikan sebagai terhapus hanya karena berada di luar pilihan sparse.
Jika ini adalah checkout reguler
Untuk checkout penuh yang ingin Anda ubah menjadi sparse checkout yang berisi direktori pilihan, gunakan set:
git sparse-checkout set --cone 'Packages/Map View'
set menetapkan pilihan sparse dari path yang Anda berikan. Perintah ini tidak mempertahankan direktori lain dari checkout reguler penuh sebagai pilihan tambahan. Jika Anda membutuhkan beberapa direktori, sertakan masing-masing dalam perintah yang sama, misalnya git sparse-checkout set --cone 'Packages/Map View' 'Docs'. Referensi perintah sparse-checkout Git
Mengubah pilihan dapat menghapus file dari working tree. Dokumentasi Git juga mencatat bahwa saat mengubah pilihan mode cone, Git dapat menghapus file yang diabaikan (ignored) di direktori yang tidak lagi memiliki file terlacak atau file tidak terlacak yang tidak diabaikan. Periksa status Anda dan amankan file lokal apa pun yang Anda butuhkan sebelum menjalankan set; jika Git memperingatkan bahwa file yang tidak dilacak mencegah pembersihan, periksa file-file tersebut alih-alih memaksakan penghapusan. Panduan sparse-checkout Git
Jika Git melaporkan masalah
Jika git sparse-checkout add menyatakan bahwa repositori tidak berada dalam sparse checkout, tentukan apakah Anda berniat untuk mempersempit working tree. Untuk melakukannya, gunakan perintah set --cone di atas. Jika Anda bermaksud untuk mempertahankan semua direktori saat ini dan hanya menambahkan satu direktori, pertama-tama identifikasi direktori yang ingin Anda pertahankan, lalu berikan semuanya bersama dengan direktori baru ke set --cone secara bersamaan.
Jika sebuah path tidak ada setelah ditambahkan, konfirmasikan ejaan dan penggunaan huruf besar/kecil terhadap path terlacak repositori, dan periksa apakah path tersebut ada di branch saat ini. Sparse checkout memilih path yang dilacak; ini tidak membuat direktori yang hilang atau menginisialisasi submodule secara otomatis. Git mendokumentasikan inisialisasi submodule sebagai operasi terpisah. Panduan sparse-checkout Git
Sparse checkout mengontrol file mana saja yang ditempatkan Git di working tree; ini tidak sama dengan mengkloning direktori saja atau menghapus direktori lain dari repositori. Git mendukung filter partial-clone terpisah untuk membatasi objek yang diunduh dari server, tetapi ketersediaan dan dampaknya bergantung pada konfigurasi clone dan server. Opsi git clone --sparse dimulai dengan file tingkat atas dan merupakan alur kerja lain untuk clone baru. Dokumentasi git clone