Pemeliharaan & Pembersihan Repositori
Pelajari perintah seperti `git gc` dan `git prune` untuk membersihkan dan mengoptimalkan repositori Git lokal Anda.
Pemeliharaan & Pembersihan Repositori adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Selamat Datang di Pemeliharaan Git
Seiring waktu, repositori Git lokal Anda dapat menumpuk berkas yang tidak diperlukan dan menjadi kurang efisien. Bayangkan saja seperti ruangan yang berantakan!
Dalam pelajaran ini, kita akan mempelajari cara membersihkan dan mengoptimalkan repositori Git menggunakan perintah andal seperti git gc dan git prune. Dengan begitu, proyek Anda dapat berjalan lancar.
Penjelasan Penyimpanan Objek Git
Pertama-tama, mari pahami cara Git menyimpan data. Git menyimpan riwayat proyek Anda sebagai serangkaian 'objek':
- Blobs: Isi berkas
- Trees: Direktori dan isinya
- Commits: Gambaran proyek Anda pada suatu waktu
- Tags: Penunjuk ke commit tertentu
Objek-objek ini dapat disimpan sebagai 'objek lepas' atau dikompresi menjadi 'berkas paket' agar lebih efisien.
Memperkenalkan `git gc` (Mengumpulkan Sampah)
Perintah git gc adalah singkatan dari 'garbage collect'. Ini adalah alat bawaan Git untuk membersihkan dan mengoptimalkan repositori Anda.
Tugas utamanya meliputi:
- Mengemas objek lepas: Mengompresi objek satu per satu menjadi satu berkas paket.
- Menghapus objek yang tidak dapat dijangkau: Menghapus objek yang tidak lagi direferensikan oleh commit, cabang, atau tag mana pun (setelah mencapai usia tertentu).
- Menghapus berkas paket lama: Menyingkirkan berkas objek terkompresi yang sudah usang.
Proses ini membuat repositori Anda lebih kecil dan lebih cepat.
Menjalankan `git gc` (Penggunaan Umum)
Anda dapat menjalankan git gc secara manual kapan saja. Git juga menjalankannya secara otomatis di latar belakang saat Anda melakukan operasi tertentu, seperti mengirim atau mengambil data.
Secara umum, perintah ini aman dijalankan, tetapi sebaiknya pastikan tidak ada pekerjaan yang belum di-commit dan mungkin perlu Anda pulihkan sebelum pembersihan besar dilakukan.
Cobalah menjalankannya di terminal Anda:
git gcMemahami Keluaran `git gc`
Saat menjalankan git gc, Anda akan melihat keluaran yang serupa dengan ini:
Counting objects: 1234, done.
Compressing objects: 100% (987/987), done.
Writing objects: 100% (1234/1234), done.
Total 1234 (delta 567), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
Pruning objects: 100% (123/123), done.Ini menunjukkan Git sedang mengemas objek, menulis berkas paket baru, dan memangkas (menghapus) objek lama yang tidak dapat dijangkau. Angkanya akan bervariasi berdasarkan keadaan repositori Anda.
Berfokus pada `git prune`
Meskipun git gc menangani banyak tugas pembersihan, git prune secara khusus menangani penghapusan objek "menggantung" atau "tidak terjangkau".
- Objek menggantung: Objek yang ada di repositori Anda, tetapi tidak lagi dirujuk oleh komit, cabang, atau tag apa pun, dan juga bukan bagian dari berkas paket.
- Objek tidak terjangkau: Istilah yang mirip dengan objek menggantung, tetapi cakupannya lebih luas. Objek ini dapat muncul karena berbagai alasan, misalnya setelah rebase atau reset yang menulis ulang riwayat.
git prune menghapus objek-objek tersebut jika usianya lebih lama daripada waktu kedaluwarsa bawaan (biasanya 2 minggu).
Menjalankan `git prune` Secara Langsung
Biasanya Anda tidak perlu menjalankan git prune secara langsung karena git gc memanggilnya. Namun, Anda dapat menggunakannya untuk pembersihan yang lebih terarah.
Untuk melihat tindakan yang akan dilakukan git prune tanpa benar-benar menghapus apa pun, gunakan opsi --dry-run:
git prune --dry-runMelakukan Pruning dengan Kedaluwarsa
Secara bawaan, git prune (dan langkah pruning git gc) hanya menghapus objek yang berusia lebih dari dua minggu. Anda dapat menggantinya menggunakan opsi --expire.
Ini berguna jika Anda ingin membersihkan secara agresif objek menggantung yang baru saja dibuat, misalnya setelah rebase eksperimental yang Anda yakini tidak perlu dibatalkan.
Contohnya, untuk melakukan pruning pada objek yang berusia lebih dari 1 hari:
git prune --expire=1.dayMembedakan dari `git reflog expire`
Penting untuk tidak menyamakan git prune dengan git reflog expire. Meskipun keduanya berkaitan dengan pembersihan, keduanya memiliki tujuan yang berbeda:
git prune: Menghapus objek Git yang sebenarnya (blob, pohon, dan komit) dari basis data objek.git reflog expire: Membersihkan entri dalam reflog (riwayat lokal tempat HEAD pernah berada), sehingga komit tertentu menjadi lebih sulit ditemukan, tetapi objeknya sendiri tidak dihapus.
Selalu berhati-hatilah saat mengubah riwayat atau menjalankan perintah pembersihan!
Pemeriksaan Pemeliharaan
Manakah dari pilihan berikut yang paling tepat menggambarkan peran utama git gc?
Ringkasan & Langkah Berikutnya
Selamat! Anda telah mempelajari cara menjaga repositori Git tetap rapi dan efisien.
git gc: Perintah serba guna untuk pengumpulan sampah, mengemas objek, dan melakukan pruning.git prune: Secara khusus menargetkan dan menghapus objek yang tidak terjangkau atau menggantung dan lebih lama daripada masa kedaluwarsa yang ditetapkan.
Pemeliharaan rutin membantu memastikan alur kerja Git Anda tetap lancar dan repositori Anda tidak menghabiskan ruang disk secara berlebihan. Pertahankan kerja baik Anda!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemeliharaan & Pembersihan Repositori” gratis?
Ya — teks lengkap “Pemeliharaan & Pembersihan Repositori” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemeliharaan & Pembersihan Repositori”?
Pelajari perintah seperti `git gc` dan `git prune` untuk membersihkan dan mengoptimalkan repositori Git lokal Anda. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Pemeliharaan & Pembersihan Repositori” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Git Reflog & Memulihkan Riwayat
- Git Bisect untuk Debugging
- Pemeliharaan & Pembersihan Repositori
- Menulis Ulang Riwayat dengan git filter-repo