Lewati ke konten utama

Ringkasan Git Large File Storage (LFS)

Mulai gunakan Git Large File Storage (LFS) di repositori Anda untuk membantu mengelola berkas biner berukuran besar.
Diperbarui 28 Sep 2026  · 9 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Git adalah alat kontrol versi yang banyak digunakan untuk membantu mengelola proyek pengembangan perangkat lunak, alur kerja data science, hingga repositori dokumentasi. Namun, Git tradisional memiliki keterbatasan saat menangani berkas besar. Berkas besar akan diduplikasi pada setiap commit, sehingga repositori membengkak dan alur kerja melambat karena perlu menyalin banyak salinan berkas besar saat menarik perubahan. Karena itu, mengelola berkas besar dengan Git dapat menjadi tidak efisien karena alasan berikut:

  • Ukuran repositori membesar: Menyimpan berkas besar langsung di repositori Git akan meningkatkan ukurannya secara keseluruhan, sehingga operasi cloning dan fetching menjadi lambat, terutama saat bekerja pada repositori jarak jauh yang mungkin memerlukan unggah/unduh berkas.
  • Penyimpanan dan pelacakan versi tidak efisien: Setiap kali berkas besar dimodifikasi, Git menyimpan versi baru di historinya, yang cepat membuat repositori membengkak.
  • Masalah kinerja: Dengan repositori besar, operasi Git (mis. cloning, pulling, pushing) menjadi jauh lebih lambat dan memerlukan lebih banyak ruang penyimpanan.

Dalam panduan ini, kita akan meninjau Git Large File Storage (Git LFS), yaitu ekstensi Git yang membantu menangani berkas besar di repositori Anda. Ini memungkinkan kita menyimpan perubahan pada berkas besar secara lebih efisien tanpa duplikasi atau penyimpanan berkas yang berlebihan. Anda sebaiknya menggunakannya kapan pun Anda memperkirakan akan memiliki berkas biner besar di repositori. Saya akan mulai dengan menjelaskan lebih detail apa itu Git LFS, cara kerjanya, kapan menggunakannya, dan cara menyiapkannya secara efektif.

Jika Anda baru mengenal Git, lihat panduan kami tentang Cara Belajar Git dan Kursus Pengantar Git.

Apa itu Git LFS?

Git Large File Storage (Git LFS) adalah ekstensi untuk Git yang meningkatkan penanganan berkas besar.

Ekstensi ini mengubah cara Git melakukan fetching dan cloning dengan menambahkan fungsionalitas untuk mengambil data dari repositori jarak jauh secara lazy dan menambahkan beberapa fungsi manajemen berkas yang cerdas ke Git.

Dalam hal lainnya, pengalaman pengguna tetap mulus dan sama seperti Git biasa.

Perbedaan Git LFS dari pelacakan Git standar

Dalam Git tradisional, kita menyimpan keseluruhan riwayat repositori di direktori .git. Ini mencakup berkas teks aktual yang telah diubah dari waktu ke waktu. Selain itu, seluruh repositori diunduh saat kita memanggil git fetch atau git clone agar semua berkas siap tersedia. Saat kita menggunakan Git LFS, ada beberapa hal yang berubah.

Pertama, Git LFS mengganti berkas besar dengan pointer ringan ke penyimpanan jarak jauh, sehingga mengurangi kebutuhan untuk menyimpan setiap berkas. Kedua, berkas besar hanya diunduh saat checkout ke branch, artinya kita hanya mengunduh berkas besar ketika siap untuk mengerjakannya.

Terakhir, ekstensi ini mengelola penyimpanan repositori lokal Anda untuk membersihkan versi lama berkas guna menjaga lingkungan kerja tetap rapi.

Bagaimana Cara Kerja Git LFS?

Git LFS mengikuti mekanisme penyimpanan berbasis pointer. Seperti disebutkan sebelumnya, ketika Anda menentukan berkas untuk dilacak oleh LFS, Git LFS menggantinya dengan berkas pointer di repositori dan juga menempatkan salinan lokalnya di cache.

Saat Anda mendorong commit, cache lokal diperbarui ke penyimpanan jarak jauh (mis., server LFS GitHub, GitLab, Bitbucket). Jika ada perubahan dan Anda melakukan checkout, maka perubahan tersebut memperbarui cache lokal Anda untuk menyediakan salinan kerja terbaru.

Jika Anda ingin memahami salah satu repositori jarak jauh paling populer, GitHub, lihat kursus Pengantar GitHub ini.

Ada banyak manfaat menggunakan Git LFS. Ini menjaga ukuran repositori tetap kecil dan mudah dikelola. Ini juga meningkatkan kinerja bagi tim yang bekerja dengan berkas besar. Selain itu, dengan menghindari duplikasi yang tidak perlu pada berkas besar, ukuran repositori lokal Anda tetap terjaga.

Menyiapkan Git LFS

Sebelum menggunakan Git LFS, ada beberapa langkah penyiapan. Prosesnya relatif sederhana, yaitu memasang ekstensi tersebut. Jika Anda memiliki repositori yang sudah ada, Anda perlu memigrasikannya. Jika membuat repositori baru, Anda cukup menginisialisasi Git LFS.

Menginstal Git LFS

Untuk menggunakan Git LFS, Anda harus memasangnya di sistem Anda. Cara paling sederhana adalah mengunjungi situs web git-lfs dan memasang berkasnya. Setelah itu, jalankan git lfs install satu kali di konsol perintah Anda untuk sepenuhnya menginisialisasi dan memasang Git LFS.

Menggunakan Git LFS

Setelah terpasang, Anda harus memastikan Git LFS dikonfigurasi untuk setiap repositori. Pelacak Git jarak jauh yang berbeda (mis. GitHub vs Bitbucket) akan memiliki langkah yang sedikit berbeda. Sebaiknya ikuti langkah yang direkomendasikan untuk pelacak Git jarak jauh Anda. Secara garis besar, jika Anda menginisialisasi repositori baru, Anda dapat menjalankan git lfs install di repositori tersebut untuk menginisialisasi hook lalu menambahkan berkas yang akan dilacak. Jika Anda memiliki repositori yang sudah ada, Anda dapat menggunakan git lfs migrate dan kemudian mengikuti prosedur pembersihan direktori .git:

git reflog expire --expire-unreachable=now --all
git gc --prune=now

Menggunakan Git LFS dalam Proyek

Mari kita bahas beberapa penggunaan Git LFS dalam sebuah proyek. Kita akan mengulas langkah-langkah melacak, melakukan commit, cloning, dan pulling berkas besar dari repositori Git LFS.

Melacak Berkas Besar (git lfs track)

Untuk mulai melacak tipe berkas tertentu, kita dapat menggunakan perintah git lfs track <file type>. Misalnya, jika saya ingin melacak berkas CSV, saya akan menulis perintah: git lfs track "*.csv". Ini juga menambahkan informasi ke berkas .gitattributes untuk memastikan kita menggunakan Git LFS untuk berkas tersebut. Kita sekarang harus mendorong berkas .gitattributes terlebih dahulu agar pelacakan berkas LFS berjalan dengan benar.

git add .gitattributes
git commit -m "Adding LFS .gitattributes"
git push origin main

Menambahkan dan Melakukan Commit Berkas Besar

Setelah menambahkan pelacakan, Anda dapat menambahkan dan melakukan commit seperti biasa:

git add largefile.csv
git commit -m "Adding large file with Git LFS"
git push origin main

Di balik layar, Git LFS menyimpan berkas secara terpisah dan menggantinya dengan pointer di repositori. Pengalaman ini seharusnya cukup mulus.

Cloning Repositori dengan Git LFS (git lfs clone)

Jika Anda memiliki versi Git yang lebih baru (>= 2.3.0) maka perintah git clone seharusnya otomatis berfungsi untuk berkas LFS dan non-LFS Anda. Jika Anda menggunakan versi Git yang lebih lama, maka Anda perlu menggunakan perintah khusus git lfs clone. Ini bekerja berbeda dari clone biasa karena akan merujuk pada informasi pointer untuk berkas besar dan hanya meng-clone salinan kerja dari setiap berkas besar. Untuk informasi lebih lanjut tentang cloning di Git, lihat tutorial berikut tentang Git Clone Branch.

Menarik Berkas Besar (git lfs pull)

Jika Anda ingin melakukan fetch dan checkout berkas LFS besar dari repositori Anda, maka Anda dapat menggunakan fungsi git lfs pull. Ini terpisah dari git pull sederhana yang hanya akan menarik berkas git.

Berikut contoh alur kerjanya:

git checkout main # check out your main branch 
git pull # pull latest git files from the remote, for this branch 
git lfs pull # pull latest git lfs files from the remote, for this branch

Praktik Terbaik Menggunakan Git LFS

Meskipun Git LFS adalah solusi yang bagus, ini tetap bisa menimbulkan masalah tersendiri dan tidak dirancang sebagai solusi universal. Pastikan Anda menerapkan praktik terbaik berikut saat menggunakan Git LFS agar mendapatkan manfaat maksimal:

  • Gunakan Git LFS hanya untuk berkas biner besar, bukan untuk kode atau berkas teks kecil.
  • Secara berkala pangkas berkas yang tidak perlu menggunakan: git lfs prune
  • Hindari melacak seluruh direktori, yang dapat menyebabkan masalah kinerja dan pembengkakan
  • Pastikan semua kolaborator memasang Git LFS untuk menghindari berkas yang hilang.

Jika Anda mengikuti panduan umum ini, Git LFS akan menjadi alat yang sangat bermanfaat bagi Anda!

Masalah Umum dan Cara Mengatasinya

Karena Git LFS merupakan ekstensi Git, ia hadir dengan serangkaian masalahnya sendiri. Ini terutama benar karena bergantung pada repositori jarak jauh yang memiliki masalah masing-masing. Berikut beberapa masalah umum yang mungkin Anda temui saat menggunakan Git LFS dan solusinya.

Masalah Autentikasi Git LFS

Ada banyak cara Anda dapat mengalami masalah autentikasi dengan Git LFS. Untuk memastikan Anda memiliki kredensial yang benar, periksa hal-hal berikut:

  • Gunakan konfigurasi SSH yang benar dengan git config lfs.url ssh://<git-url>
  • Periksa bahwa Anda memiliki akses baca/tulis ke branch induk karena Git LFS sering melacak ke induk
  • Cobalah melakukan fetch/clone bersih sepenuhnya dari repositori jarak jauh

Jika Anda terus mengalami masalah dan Anda bukan administrator, hubungi pemilik proyek untuk membantu perizinan.

Batas dan Kuota Penyimpanan Berkas Besar

Layanan dapat menetapkan kuota pada penyimpanan Git LFS. Misalnya, GitHub memiliki batas 2GB untuk pengguna Free dan Pro dengan batas 5GB per berkas untuk pengguna Enterprise cloud. Pastikan Anda tidak mengunggah berkas yang lebih besar dari batas layanan Anda untuk menghindari galat.

Migrasi Repositori yang Ada untuk Menggunakan Git LFS

Jika sebuah repositori sudah berisi berkas besar, migrasikan menggunakan:

git lfs migrate import --include="*.filetype"

Perintah ini secara retroaktif mengganti berkas besar dengan pointer LFS.

Kesimpulan

Git LFS adalah alat penting untuk mengelola berkas besar secara efisien sambil menjaga repositori tetap ringan dan berkinerja baik. Dengan memanfaatkan Git LFS, pengembang dapat mengelola berkas repositori yang lebih besar dengan baik. Selama Anda mengikuti praktik terbaik untuk meminimalkan pembengkakan, LFS akan sangat membantu pelacakan berkas Anda. Jika Anda tertarik mempelajari Git lebih lanjut, coba sumber daya berikut:

FAQ Git LFS

Apa yang terjadi jika saya meng-clone repositori dengan berkas Git LFS?

Menjalankan git clone pada versi Git yang lebih baru akan otomatis mengambil repositori dan pointer LFS. Jika Anda menggunakan versi Git yang lebih lama, Anda perlu menjalankan git lfs pull untuk mengunduh berkas besar yang sebenarnya. Alternatifnya, menggunakan git lfs clone akan melakukan ini secara otomatis.

Bagaimana saya dapat memeriksa berkas mana yang dilacak oleh Git LFS?

Jalankan git lfs track untuk melihat pola berkas yang dilacak, dan git lfs ls-files untuk mencantumkan berkas yang benar-benar disimpan menggunakan LFS.

Bagaimana jika saya kehabisan penyimpanan Git LFS di GitHub atau layanan hosting lain?

Layanan seperti GitHub memberlakukan batas penyimpanan. Anda dapat mengelola penyimpanan dengan git lfs prune, membeli ruang tambahan, atau menggunakan solusi penyimpanan eksternal alternatif.

Bisakah saya berhenti menggunakan Git LFS setelah mengaktifkannya?

Bisa, tetapi Anda perlu memigrasikan berkas kembali ke Git standar menggunakan git lfs migrate export --include="*.filetype" untuk menghapus pelacakan LFS.

Topik
Git

Kursus Teratas DataCamp

Kursus

Pengantar Git

2 jam
101.4K
Pelajari dasar-dasar Git untuk version control dalam proyek perangkat lunak dan data Anda.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya