Hampir tidak ada biaya untuk menggunakan riwayat komit yang dikelola oleh sistem kontrol versi. Namun, selama upaya refactoring (atau reorganisasi / pembersihan) proyek besar, fungsi dan kelas dan bahkan ruang nama akan dipindahkan; terkadang beberapa file akan digabung bersama dan file lainnya akan dipisah. Perubahan ini sering menyebabkan hilangnya riwayat komit asli dari beberapa file.
Menurut pendapat pribadi saya, up-menjaga organisasi proyek lebih penting daripada menjaga sejarah kode sumber. Organisasi proyek yang baik memungkinkan fitur-fitur baru ditambahkan secara terus menerus dengan upaya yang masuk akal, sementara nilai riwayat kode sumber tampak meragukan.
Lebih lanjut, dengan penggunaan unit test, masalah regresi diidentifikasi dengan cepat. Selama versi terbaru terus memenuhi semua persyaratan perangkat lunak, apakah kita benar-benar perlu menjaga sejarah kode sumber?
Saya memahami bahwa kode sumber apa pun yang dikirim harus dilestarikan karena kebutuhan untuk memberikan dukungan kepada pelanggan tanpa mengharuskan mereka untuk melakukan peningkatan versi utama. Tapi selain itu, apakah ada nilai dalam menjaga sejarah kode sumber yang dilakukan?
Apakah kode sumber membuat riwayat berperan dalam komunikasi antara anggota tim? Bagaimana jika kita menghapus histori komit, tetapi sebaliknya bergantung pada "kode sumber" + "kode pengujian unit" untuk komunikasi?
Apakah keberadaan sejarah komit membuat orang puas dengan dokumentasi jangka panjang dari informasi penting tentang proyek, seperti perubahan desain / persyaratan utama dan aliran pemikiran yang mendorong perubahan tersebut?
These changes often lead to the loss of the original commit history of a few files.
Lihatlah misalnya pada "git menyalahkan" - tidak ada yang hilang. Terkadang mungkin agak sulit untuk menemukan, tetapi selalu ada.