Menulis Ulang Riwayat dengan git filter-repo
Pelajari cara menulis ulang riwayat repositori dalam skala besar untuk menghapus berkas besar atau data sensitif menggunakan git filter-repo.
Menulis Ulang Riwayat dengan git filter-repo adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 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.
Mengapa Menulis Ulang Riwayat?
Terkadang Anda harus menulis ulang seluruh riwayat repositori: untuk menghapus kata sandi yang bocor, menghapus berkas besar yang tidak sengaja dikomit, atau memperbaiki email penulis di semua komit.
Memperkenalkan git filter-repo
git filter-repo adalah alat modern dan cepat untuk menulis ulang riwayat. Alat ini menggantikan git filter-branch yang lama dan lambat.
Memasang Alat
Alat ini adalah program terpisah yang biasanya dipasang melalui pip atau pengelola paket.
pip install git-filter-repoSelalu Bekerja pada Klon
Penulisan ulang riwayat bersifat destruktif. Kerjakan pada klon baru agar Anda dapat membuangnya jika terjadi kesalahan.
git clone --mirror git@github.com:you/repo.gitMenghapus Berkas dari Riwayat
Untuk menghapus sepenuhnya sebuah berkas dari setiap komit, gunakan opsi --path dan --invert-paths.
git filter-repo --path secrets.env --invert-pathsMenghapus Objek Biner Besar
Anda dapat menghapus berkas yang melebihi ambang ukuran tertentu untuk mengecilkan repositori yang membengkak.
git filter-repo --strip-blobs-bigger-than 10MMenulis Ulang Email Penulis
Perbaiki email penulis yang salah di semua komit menggunakan mailmap atau fungsi panggilan balik.
git filter-repo --mailmap my-mailmap.txtMengganti Teks dalam Riwayat
Bersihkan string rahasia di mana pun string tersebut muncul menggunakan berkas ekspresi.
git filter-repo --replace-text expressions.txtHash Komit Berubah
Penulisan ulang riwayat menghasilkan hash komit baru untuk semua bagian yang terdampak. Riwayat repositori akan berbeda dari salinan lama mana pun.
Mengirim Paksa Hasilnya
Setelah menulis ulang, Anda harus mengirim perubahan secara paksa karena riwayat di repositori jarak jauh tidak lagi cocok.
git push --force --allBerkoordinasi dengan Tim
Karena semua klon kini sudah kedaluwarsa, anggota tim harus mengklon ulang repositori. Umumkan penulisan ulang tersebut agar data yang dihapus tidak muncul kembali.
Pemeriksaan Singkat
Uji pemahaman Anda tentang penulisan ulang riwayat.
Ringkasan
Anda telah mempelajari cara menulis ulang riwayat:
git filter-repomenggantikan filter-branch- Hapus berkas, objek biner besar, atau teks rahasia dari seluruh riwayat
- Selalu bekerja pada klon; hash komit akan berubah
- Kirim perubahan secara paksa, lalu minta tim mengklon ulang repositori
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menulis Ulang Riwayat dengan git filter-repo” gratis?
Ya — teks lengkap “Menulis Ulang Riwayat dengan git filter-repo” 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 “Menulis Ulang Riwayat dengan git filter-repo”?
Pelajari cara menulis ulang riwayat repositori dalam skala besar untuk menghapus berkas besar atau data sensitif menggunakan git filter-repo. 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 4 dari 4.
Berapa lama pelajaran “Menulis Ulang Riwayat dengan git filter-repo” 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