Kenapa Saya Nggak Hapus Riwayat Laravel Lama, Cuma Pindahin ke Branch

Situs ini dulunya Laravel 13 + Postgres/Supabase + Docker, lengkap dengan admin panel penuh dan fitur AI content generation. Sekarang full static Astro, dan nggak ada satupun kode lama itu yang jalan di production. Tapi saya nggak hapus riwayatnya — saya pindahin ke branch terpisah, gookkis-web-laravel-old, dan branch itu masih nongkrong di repo sampai sekarang.
Kenapa nggak dihapus aja? Karena delete history itu operasi yang gampang banget bikin nyesel belakangan, dan penyesalannya biasanya baru kerasa pas udah kejadian, bukan pas mikir “ah paling nggak butuh lagi.” Ada keputusan desain di app lama — struktur admin panel-nya, cara saya generate AI content dulu pakai queue job — yang saya nggak akan pernah nge-deploy ulang, tapi masih relevan sebagai referensi.
Contoh konkretnya: beberapa bulan setelah migrasi, ada client yang nanya soal cara saya dulu handle rate limiting buat API generation di app Laravel itu, karena mereka lagi bangun sesuatu yang mirip. Saya buka branch itu, telusurin commit-commit lama, ketemu implementasinya dalam beberapa menit, kirim potongan kodenya sebagai referensi. Kalau saya udah hapus branch itu total, saya harus ngandelin ingatan doang buat jelasin logic yang udah nggak saya sentuh berbulan-bulan — dan ingatan soal detail implementasi kayak gitu selalu lebih buram dari yang saya kira.
Kenapa nggak diarsip di tempat lain, misalnya zip terpisah atau repo lain? Karena branch yang tetap nempel di repo yang sama artinya searchable dan diffable kapan aja lewat tool git yang udah saya pakai sehari-hari, tanpa harus inget di mana saya nyimpen backup-nya atau install tool tambahan buat buka arsipnya. git log di branch itu tetap history asli — tiap commit, tiap pesan commit yang (kadang memalukan) nunjukin proses berpikir saya waktu itu — bukan snapshot yang saya kompres jadi satu commit besar.
Trade-off yang saya terima: ukuran repo jadi sedikit lebih gede karena nyimpen dua sejarah proyek dengan stack yang beda total — folder .git-nya sekarang beberapa puluh MB lebih gede dibanding kalau saya cuma nyimpen history Astro doang. Buat repo tim besar dengan banyak binary asset, itu bisa jadi masalah beneran, dan orang biasanya bakal saranin git filter-repo atau pindah ke arsip terpisah. Tapi buat repo personal kayak ini, selisih ukuran itu nggak signifikan dibanding manfaat referensi historisnya kalau suatu saat kepake — clone situs ini masih instan aja di koneksi biasa.
Satu hal yang saya jaga: branch itu saya freeze total, nggak pernah saya merge balik atau rebase ke main, dan nggak ada CI yang jalan di branch itu. Dia murni arsip baca-saja secara konvensi — nggak saya proteksi secara teknis di GitHub, cuma disiplin sendiri buat nggak nyentuh. Kalau ada yang perlu diambil dari situ, saya copy manual potongan kodenya ke tempat baru, bukan cherry-pick commit langsung, biar histori main tetep bersih dan linear.
Git nggak nge-charge saya buat nyimpen masa lalu. Selama itu nggak ganggu kerjaan di main, saya lebih milih nyimpen daripada nyesel udah nge-delete sesuatu yang ternyata masih kepake.