Jika file di folder kerja Mac Anda berisi teks yang diawali version https://git-lfs.github.com/spec/v1, Anda melihat pointer Git LFS-nya alih-alih isi file besar tersebut. Di Terminal, buka repositori, pastikan Git LFS sudah terinstal dan diinisialisasi, lalu jalankan git lfs pull. Perintah tersebut mengunduh objek LFS untuk branch yang di-checkout dan memperbarui file kerja. Perintah ini hanya dapat memulihkan konten yang tersedia dari remote yang dikonfigurasi atau sudah ada di cache LFS lokal. FAQ Git LFS

1. Buka repositori di Terminal dan pastikan file tersebut adalah pointer

Buka Terminal dan beralihlah ke direktori repositori. Jika Anda tidak yakin letak foldernya, ketik cd (termasuk spasi di akhir), seret folder repositori dari Finder ke jendela Terminal, lalu tekan Return. Pastikan Anda berada di working tree Git dan periksa file tersebut, ganti dengan jalur sebenarnya:

git status --short
head -n 3 'path/to/file.ext'

Pointer yang umum memuat baris versi, baris oid sha256:, dan baris ukuran (size). Git LFS menyimpan pointer kecil ini di Git sementara konten sebenarnya berada di penyimpanan LFS. Melihat pointer di editor teks tidak berarti editor tersebut dapat mengambil objek yang hilang; pemulihan dilakukan melalui Git LFS. Ringkasan Git LFS

2. Instal dan inisialisasi Git LFS jika diperlukan

Periksa apakah perintah tersebut tersedia:

git lfs version

Jika Terminal melaporkan bahwa lfs bukan perintah Git, instal Git LFS menggunakan metode penginstalan tepercaya untuk Mac Anda, lalu buka jendela Terminal baru dan periksa lagi. Dokumentasi proyek menyebutkan git lfs install sebagai konfigurasi satu kali untuk akun pengguna; jalankan perintah ini untuk mengonfigurasi filter dan hook LFS Git:

git lfs install

Konfigurasi ini terpisah dari proses pengunduhan konten file. Jika LFS dilewati saat clone atau checkout, FAQ Git LFS secara khusus menyarankan untuk menjalankan git lfs pull guna mengganti pointer di working tree. FAQ Git LFS

3. Unduh dan pulihkan file branch saat ini

Dari direktori repositori, jalankan:

git lfs pull

Perintah ini mengambil (fetch) konten LFS untuk ref saat ini dari remote default dan melakukan checkout pada file working-tree yang diperlukan. Ini adalah langkah pemulihan paling sederhana untuk repositori hasil klona biasa jika pointer tersebut dimiliki oleh branch yang sedang Anda checkout. Tunggu hingga perintah selesai dan periksa apakah ada pesan kesalahan; jika pointer masih tersisa setelahnya, berarti pengunduhan atau checkout tidak selesai untuk file tersebut. Referensi perintah Git LFS

Jika Anda sudah mengambil (fetch) objek tersebut sebelumnya tetapi file kerja masih berisi pointer, coba:

git lfs checkout -- 'path/to/file.ext'

git lfs checkout menggunakan konten yang tersedia di penyimpanan LFS lokal; perintah ini tidak mengunduh apa pun. Perintah ini memulihkan file yang hilang atau file yang berisi pointer yang cocok, dan tidak menimpa file yang dimodifikasi. Hal ini membuatnya berguna setelah proses fetch yang berhasil, tetapi tidak dapat memulihkan objek yang belum di-cache secara lokal maupun belum berhasil di-fetch. Manual git-lfs-checkout

4. Jika file masih menampilkan pointer

Periksa apakah jalur yang diharapkan terlacak oleh LFS dan apakah repositori memiliki remote yang terkonfigurasi:

git lfs ls-files
 git remote -v

Jika git lfs ls-files tidak mencantumkan file tersebut, pastikan aturan .gitattributes yang telah di-commit pada branch saat ini menandai jalurnya untuk LFS. Sekadar menjalankan git lfs track sekarang tidak akan mengambil konten riwayat, dan mengubah aturan pelacakan tidak akan mengubah blob Git biasa menjadi objek LFS. Git LFS mencatat bahwa file yang sudah ada di repositori memerlukan renormalisasi dan commit untuk dikonversi; jangan lakukan perubahan repositori tersebut hanya untuk memulihkan sebuah file. FAQ Git LFS

Jika file tersebut tercantum, pastikan Anda berada di branch yang memuat versi yang diinginkan dan pastikan remote yang dikonfigurasi adalah repositori yang menyimpan objek LFS-nya. Untuk remote terkonfigurasi yang berbeda, ambil (fetch) dari remote tersebut lalu pulihkan dari cache lokal:

git lfs fetch 'remote-name'
git lfs checkout -- 'path/to/file.ext'

git lfs fetch mengunduh objek tetapi tidak memperbarui salinan kerja (working copy); git lfs checkout menjalankan pembaruan lokal tersebut. Mengambil ref saat ini secara default menggunakan remote default, yang mengikuti aturan pemilihan remote Git. Manual git-lfs-fetch

Proses pull yang gagal dapat mengindikasikan masalah koneksi, autentikasi, akses, atau objek yang hilang. Atasi masalah akses ke server Git/LFS yang dikonfigurasi lalu coba lagi. Jika server LFS tidak lagi memiliki objek tersebut, pointer saja tidak dapat merekonstruksi file asli: tanyakan kepada maintainer repositori apakah branch lain, cadangan, klona, atau penyimpanan LFS resmi memilikinya. Hindari mengganti pointer dengan konten tebakan atau melakukan commit seolah-olah itu adalah file yang sudah dipulihkan.

Konfirmasikan pemulihan

Setelah proses pull atau checkout berhasil, periksa kembali file tersebut. Baris-baris pertamanya tidak boleh lagi berupa metadata pointer LFS; gunakan aplikasi yang sesuai untuk jenis file tersebut guna memastikan bahwa konten yang dipulihkan dapat dibuka. Periksa juga git status --short. Perubahan konten mungkin memang wajar terjadi jika salinan kerja Anda sebelumnya berisi pointer, tetapi tinjau jalur yang dilaporkan sebelum melakukan staging atau committing apa pun.

Sumber