Pada proyek saya di mana repositori dibagi antara saya dan programmer lain, saya selalu menulis pesan komit bahkan jika saya adalah pengembang utama.
Tetapi pada proyek-proyek di mana saya adalah pengembang tunggal yang mengerjakan sebuah proyek, dan repositori di-host di laptop pribadi saya, dan bahkan tidak di-host oleh klien, maka tidak ada seorang pun kecuali saya yang akan melihat komitmen, haruskah saya masih menulis commit pesan?
Sejauh ini saya telah menulisnya, tetapi saya menemukan bahwa saya tidak pernah kembali dan melihat pesan komit saya. Saya mengambil waktu luang pengembangan untuk menulis pesan, tetapi kemudian mereka tidak pernah terlihat lagi bahkan oleh saya.
Apakah ada alasan bagus untuk menulis pesan komit sebagai pengembang solo, atau haruskah Anda mengabaikannya agar tetap fokus pada pengembangan?
sumber
Jawaban:
Nah inilah salah satu alasannya: Jika Anda tiba-tiba menyadari sesuatu telah rusak selama beberapa ratus komit terakhir (mungkin jika Anda komit di setiap suntingan minor, kurang layak jika Anda, seperti saya, hanya melakukan snapshot "stabil"), Anda dapat lebih mudah temukan di mana Anda telah memasukkan bug jika Anda menulis pesan komit yang jelas, daripada "perbaikan bug." (String favorit seorang kolega, saya percaya). Tentu, Anda bisa menggunakan
svn log
SCM atau apa pun yang Anda gunakan, tetapi harus lebih mudah sebaliknya.Pesan-pesan komit juga memaksa Anda untuk berpikir apa yang sebenarnya telah Anda lakukan sebagai perubahan dan, saya percaya, menyimpulkan dalam pikiran Anda bagaimana cara terbaik untuk terus meningkatkan proyek.
sumber
Saya berusaha selalu. Berapa kali Anda melihat ke belakang dan berpikir, "Astaga, apa yang saya lakukan ketika saya membuat perubahan ini." Saya selalu melakukannya. Menulis pesan selama 30 detik dapat menghemat waktu 20 menit untuk berusaha mengingatnya.
sumber
Apakah Anda benar-benar percaya bahwa biaya overhead untuk mengetik sekitar 40 hingga 80 karakter dalam bahasa Inggris sederhana adalah biaya tambahan yang signifikan untuk sebuah komit, atau apakah Anda mencari alasan untuk malas?
Mungkin masalah Anda diungkapkan dalam bahasa Inggris yang sederhana mengapa Anda membuat perubahan, dalam hal ini, Anda mungkin perlu meninjau tujuan perubahan tersebut, bahkan sampai pada titik bertanya pada diri sendiri apakah Anda benar-benar perlu melakukannya.
Saran saya adalah jangan berpikir bahwa karena Anda terbang solo Anda dapat melanggar aturan. Tetap profesional setiap saat, dan tambahkan pesan komit yang bermakna. Seperti dicatat oleh reponders lain, suatu hari Anda akan berterima kasih padanya.
sumber
Anda tidak akan selalu menjadi pengembang solo.
Anda pada akhirnya akan merusak basis kode Anda dan berusaha mengembalikannya. Pesan komit yang baik akan menghemat waktu Anda.
Anda tidak dapat mengingat apa yang sedang Anda kerjakan tiga minggu lalu, bukan?
Pesan komit harus sangat jelas. Jika tidak, maka Anda belum selesai mengerjakan tugas, atau satu tugas telah tersebar di dua atau lebih tugas.
sumber
Jelas, atau Anda membuat fitur seperti percabangan dan penggabungan jauh lebih sulit untuk digunakan. Dan Anda akan ingin menggunakannya, bahkan jika pengembang solo.
sumber
Satu kemungkinan alasan untuk: memaksa Anda untuk berpikir lebih abstrak tentang perubahan yang baru saja Anda buat, dan untuk menyusun perubahan.
Jika terasa tidak ada gunanya, mungkin hanya berkomentar perubahan besar, atau yang mengubah fungsi yang ada, jika Anda pernah mencari sumber perilaku aneh.
sumber
Saya menjadi satu-satunya pengalih pada proyek TXR, dan telah menyimpan ChangeLog terperinci sejak awal proyek. Panjangnya hampir 11.000 baris dan terus bertambah: http://www.kylheku.com/cgit/txr/tree/ChangeLog
(Pesan komit dalam repo hanyalah salinan dari apa yang ada di ChangeLog.)
[2016 edit: pada pertengahan 2015, saya tidak lagi mempertahankan file ChangeLog; namun, pesan komit ditulis dalam format yang sesuai dengan konvensi Git dan ChangeLog secara bersamaan. Tingkat detail yang sama ada di sana, dengan cara yang tidak menyebabkan masalah gabungan. File ChangeLog dapat direkonstruksi secara mekanis dari komentar-komentar ini.]
Ya, lebih dari sekali saya kembali ke pesan komit lama yang terkait dengan perubahan yang merusak sesuatu (terbongkar dengan bantuan
git bisect
). Pesan itu membantu saya memahami apa yang saya lakukan.Di ChangeLog Anda bisa mengetahui kapan suatu fungsi, tipe, makro atau variabel global pertama kali diperkenalkan dan kapan kemudian disentuh oleh perubahan.
Tetapi alasan utama untuk menulis pesan komit terperinci seperti ini ketika bekerja sendiri adalah ini: Anda menemukan bug saat melakukan ini .
Menulis pesan komit mendetail memiliki manfaat yang serupa dengan ulasan kode komit Anda oleh orang lain. Nilai dalam ulasan komit bukanlah seberapa banyak seseorang memeriksa kode Anda, tetapi Anda harus menjelaskan perubahan Anda kepada pengembang lain.
Ketika Anda mencoba menjelaskan sesuatu, Anda kadang-kadang menemukan bahwa itu tidak masuk akal.
Alasan lain: Anda dapat menemukan diri Anda melakukan perubahan yang tidak berguna . Dengan menulis komentar komit terperinci, Anda menangkap pandangan tingkat tinggi tentang apa yang Anda lakukan, dan terkadang Anda dihadapkan pada kenyataan bahwa itu bukan perubahan yang baik.
Saya terkadang membuat perubahan, ketika di tengah penulisan entri ChangeLog saya menyadari bahwa ini akan menjadi
git reset --hard
(membuang perubahan tidak berguna ini) daripadagit commit -a
.sumber
Meskipun Anda belum menemukan kebutuhan untuk melihat pesan komit Anda, Anda mungkin sangat berterima kasih untuk mereka di masa depan. Anda harus terus menulisnya bahkan untuk diri Anda sendiri. Ada banyak alasan mengapa hal itu berguna nantinya (Anda lupa mengapa Anda menambahkan fitur, mencari file yang hilang, dll.)
Berikut adalah pertanyaan terkait tentang tujuan dari pesan komit: Mengapa Saya Harus Menulis Pesan Komit
sumber
Saya selalu berkomitmen dengan pesan yang bermakna tentang perubahan, dan saya sering melakukannya dengan perubahan tambahan.
Apakah ini selalu hal yang paling bermanfaat? Tidak, tidak ada masalah dalam melakukannya. Jika Anda perlu kembali ke tahap sebelumnya dalam proses, pesan Anda akan memberi tahu Anda di mana Anda berada dan apa yang telah Anda lakukan. Ini juga dapat digunakan untuk melacak kemajuan suatu proyek. Karena itu dianggap sebagai buang-buang waktu, apakah 30 detik yang diperlukan untuk menuliskan kalimat benar-benar penting?
sumber
Saya tidak melihat perbedaan mengenai pesan komit apakah Anda bekerja dalam tim atau tidak. Anda ingat apa yang Anda lakukan di sini atau di sana hanya untuk waktu yang terbatas, dan setelah itu sama seperti jika orang lain menulisnya. Jadi, Anda harus menulis pesan sebaik yang Anda lakukan untuk orang lain.
sumber