Bagaimana Menulis Pesan Komitmen yang Baik: Panduan Praktis Git

Untuk membuat riwayat revisi yang berguna, tim harus terlebih dahulu menyetujui konvensi pesan komit yang akan digunakan. Ini juga berlaku untuk proyek pribadi.

Baru-baru ini di Hashnode saya bertanya, "Konvensi pesan commit mana yang Anda gunakan di tempat kerja?" dan saya mendapat tanggapan luar biasa dari pengguna yang menjelaskan konvensi yang mereka gunakan di tempat kerja dan untuk proyek pribadi mereka.

Konvensi pesan komit mana yang Anda gunakan di tempat kerja?

dari @hashnode //t.co/HewCBxRCbr

- BOLAJI ✨ (@iambolajiayo) 25 November 2019

Pada artikel ini, saya akan membahas bagaimana menulis pesan komit yang baik dan mengapa Anda harus melakukannya.

PS: Artikel ini pertama kali dipublikasikan di blog saya di sini.

Pengantar kontrol versi dengan Git

Perangkat lunak kontrol versi adalah bagian penting dari praktik pengembang perangkat lunak modern.

Sejauh ini, Git adalah sistem kontrol versi yang paling banyak digunakan di dunia. Ini adalah proyek open source terdistribusi dan dipelihara secara aktif yang awalnya dikembangkan pada tahun 2005 oleh Linus Torvalds, pencipta terkenal dari kernel sistem operasi Linux.

Baru mengenal Git? Lihat panduan memulai resmi atau slide ini dari ceramah sebelumnya yang saya berikan.

Apa itu pesan komit?

The komit Perintah ini digunakan untuk menyimpan perubahan ke repositori lokal setelah pementasan di Git. Akan tetapi, sebelum Anda dapat menyimpan perubahan di Git, Anda harus memberi tahu Git perubahan mana yang ingin Anda simpan karena Anda mungkin telah melakukan banyak pengeditan. Cara terbaik untuk melakukannya adalah dengan menambahkan pesan komit untuk mengidentifikasi perubahan Anda.

Opsi Komit

  • -m

Opsi ini menyetel pesan komit.

git add static/admin/config.yml git commit -m "Setup multiple roles for netlify-cms git gateway" 
  • -a atau --all

Opsi ini secara otomatis melakukan semua (termasuk baru) file yang dilacak, dimodifikasi atau dihapus.

git commit -a -m "Add a new role for netlify-cms git gateway" 
  • --mengubah

Opsi ini menulis ulang komit terakhir dengan perubahan yang sedang dipentaskan atau pesan komit baru dan seharusnya hanya dijalankan pada komit yang belum didorong ke repositori jarak jauh.

git add . git commit --amend -m "Update roles for netlify-cms git gateway" 

Mengapa Anda harus menulis pesan komit yang baik?

Anda mungkin berkata, "Ini hanya proyek pribadi." Ya, Anda bekerja sendiri sekarang, tetapi apa yang terjadi ketika Anda bekerja dengan tim atau berkontribusi pada open source?

Pesan komit Git yang dibuat dengan baik adalah cara terbaik untuk mengkomunikasikan konteks tentang perubahan ke pengembang lain yang mengerjakan proyek itu, dan memang, untuk masa depan Anda.

Pernahkah Anda mencoba menjalankan git logsalah satu proyek lama Anda untuk melihat pesan komit "aneh" yang telah Anda gunakan sejak awal? Mungkin sulit untuk memahami mengapa Anda membuat beberapa perubahan di masa lalu, dan Anda pasti ingin membaca artikel ini sebelumnya :).

Pesan komitmen dapat mengkomunikasikan secara memadai mengapa perubahan dilakukan, dan pemahaman yang membuat pengembangan dan kolaborasi lebih efisien.

Bagaimana menulis pesan komit dengan Git

Sebelumnya, saya hanya menggunakan git commit -m "Fix X to allow Y to use Z"proyek pribadi saya dengan subjek dan tanpa deskripsi tambahan. Ini bagus untuk perbaikan kecil dan jelas seperti git commit -m "Fix typo in README.md, tetapi dalam kasus perubahan yang lebih luas, Anda perlu menambahkan beberapa detail tambahan.

Metode editor

Jalankan git committanpa pesan atau opsi dan itu akan membuka editor teks default Anda untuk menulis pesan komit.

Untuk mengonfigurasi editor "default" Anda:

git config --global core.editor nano 

Ini akan mengkonfigurasi Git untuk menggunakan nano sebagai editor default Anda. Ganti "nano" dengan "emacs," "vim," atau apa pun preferensi Anda.

Di editor terbuka, baris pertama adalah subjek (deskripsi singkat), biarkan baris kosong setelahnya, dan yang lainnya adalah deskripsi tambahan (isi).

Metode Baris Perintah

git commit -m "Subject" -m "Description..." 

-mOpsi pertama adalah subjek (deskripsi singkat), dan opsi berikutnya adalah deskripsi tambahan (isi).

Bagaimana menulis pesan komit yang baik

Ada beberapa konvensi yang digunakan oleh tim dan pengembang berbeda untuk menulis pesan komit yang baik. Saya hanya akan menjelaskan beberapa aturan umum dan tip untuk menulis pesan commit – Anda harus memutuskan konvensi apa yang ingin Anda ikuti. Dan jika Anda bekerja untuk perusahaan atau berkontribusi pada open source, Anda harus beradaptasi dengan konvensi mereka :).

Untuk konsistensi, Anda dapat menggunakan satu konvensi untuk pekerjaan dan satu lagi untuk proyek pribadi karena Anda mungkin berganti pekerjaan kapan-kapan, dan konvensi itu juga bisa berubah.

Pastikan untuk memeriksa utas ini untuk beberapa konvensi pesan komit yang luar biasa atau tambahkan milik Anda untuk membantu seseorang membuat keputusan.

Berikut adalah template bagus dari pesan komit yang baik yang aslinya ditulis oleh Tim pope

Capitalized, short (50 chars or less) summary More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In some contexts, the first line is treated as the subject of an email and the rest of the text as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); tools like rebase can get confused if you run the two together. Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit messages generated by commands like git merge and git revert. Further paragraphs come after blank lines. - Bullet points are okay, too - Typically a hyphen or asterisk is used for the bullet, followed by a single space, with blank lines in between, but conventions vary here - Use a hanging indent If you use an issue tracker, add a reference(s) to them at the bottom, like so: Resolves: #123 

Tampak hebat, bukan? Inilah cara Anda membuat milik Anda hebat juga:

  1. Tentukan jenis komit:
  • feat: Fitur baru yang Anda tambahkan ke aplikasi tertentu
  • fix: A bug fix
  • style: Feature and updates related to styling
  • refactor: Refactoring a specific section of the codebase
  • test: Everything related to testing
  • docs: Everything related to documentation
  • chore: Regular code maintenance.[ You can also use emojis to represent commit types]
  1. Separate the subject from the body with a blank line
  2. Your commit message should not contain any whitespace errors
  3. Remove unnecessary punctuation marks
  4. Do not end the subject line with a period
  5. Capitalize the subject line and each paragraph
  6. Use the imperative mood in the subject line
  7. Use the body to explain what changes you have made and why you made them.
  8. Do not assume the reviewer understands what the original problem was, ensure you add it.
  9. Do not think your code is self-explanatory
  10. Follow the commit convention defined by your team

Conclusion

The most important part of a commit message is that it should be clear and meaningful. In the long run, writing good commit messages shows how much of a collaborator you are. The benefits of writing good commit messages are not only limited to your team, but indeed expand to yourself and future contributors.

Want to learn more about Git and become a professional "version controller"? Check out these excellent resources:

  • //try.github.io/
  • //git-scm.com/book/en/v2
  • //www.git-tower.com/learn/
  • //learngitbranching.js.org/
  • //github.com/commitizen/cz-cli