Berkas yang masuk repository kini sudah tersaring dari derau — tinggal memastikan setiap commit membawa pesan yang layak dibaca enam bulan ke depan. Chapter ini memampatkan dua chapter teori menjadi empat contekan cepat: struktur pesan, daftar lakukan-hindarkan, tabel type Conventional Commits, dan kata kerja subjek bahasa Indonesia. Cara pakainya: saat menulis pesan, periksa tabel struktur; saat menimbang kualitas, bandingkan dengan tabel lakukan-hindarkan; saat tim memakai format baku, salin type yang tepat dari tabelnya. Seluruh aturan dibedah dengan contoh nyata di Menulis Commit Message .
Struktur Pesan #
Pesan commit yang baik berbentuk surat singkat — tiga bagian dengan aturan masing-masing. Tabel di bawah sekaligus berfungsi sebagai template: baris pertama dan ketiga diisi dari contoh kolom kanan, baris kedua dibiarkan kosong. Pesan pendek yang maksudnya jelas boleh berhenti di subjek — body justru menjadi derau bila tak ada keputusan yang perlu dijelaskan.
| Bagian | Aturan | Contoh |
|---|---|---|
| Subjek | Maksimal sekitar 50 karakter, kata kerja imperatif, tanpa titik penutup. | Batasi tampilan daftar ke 10 baris |
| Baris kosong | Pemisah wajib antara subjek dan body. | — |
| Body | Dibungkus sekitar 72 karakter per baris; menjelaskan apa dan mengapa, bukan bagaimana — bagaimana sudah dibaca dari diff. | Halaman depan melambat karena seluruh isi catatan dirender sekaligus. |
| Footer | Penanda perubahan besar pada format Conventional Commits. | BREAKING CHANGE: skrip pengurai format lama harus disesuaikan. |
Lakukan dan Hindarkan #
Lima kebiasaan yang paling sering membedakan pesan berguna dari pesan buangan — pasangannya dipetakan dari tabel contoh teori.
| Hindarkan | Lakukan |
|---|---|
update, perbaikan — generik, tak bisa dicari dengan --grep | Perbaiki validasi email saat pendaftaran |
wip: tulis pendahuluan — hanya bermakna bagi penulisnya malam itu | Tambah pendahuluan laporan — atau leburkan deretan wip lewat squash/fixup (Menggabungkan Commit
) |
Tambah if-else di baris 42 — menjelaskan bagaimana | Tolak token kadaluarsa saat masuk — menjelaskan apa |
Perbaiki bug yang dilaporkan Siti kemarin di rapat tentang autentikasi | Perbaiki token kedaluwarsa di autentikasi — detail rapat milik body |
| Satu commit memuat fitur, refactor, dan dokumentasi sekaligus | Satu commit satu maksud — pekerjaan tak berhubungan tidak naik satu kendaraan (Menjaga Riwayat Commit ) |
Type Conventional Commits #
Format type(scope): deskripsi dibaca manusia sekaligus mesin pembuat changelog; deskripsinya tetap kalimat imperatif yang sama, anggaran 50 karakter dihitung termasuk prefiks (Conventional Commits
).
| Type | Dipakai saat perubahan… |
|---|---|
feat | menambah kemampuan baru bagi pengguna |
fix | memperbaiki galat pada perilaku yang ada |
docs | hanya menyentuh dokumentasi |
style | merapikan format/whitespace tanpa mengubah makna kode |
refactor | menata ulang kode tanpa mengubah perilaku maupun menambah fitur |
perf | memperbaiki kinerja tanpa mengubah perilaku |
test | menambah atau memperbaiki pengujian |
build | menyentuh sistem build atau dependensi |
ci | mengubah konfigurasi pipeline integrasi berkelanjutan |
chore | pekerjaan rutin yang tidak menyentuh kode sumber produksi |
revert | membatalkan commit sebelumnya |
Kata Kerja Subjek Bahasa Indonesia #
Subjek bahasa Indonesia yang baik diawali kata kerja imperatif — ujiannya: subjek harus melengkapi kalimat “jika commit ini diterapkan, repository akan …”. Bentuk benda atau pasif seperti penambahan fitur membuat ujian itu gagal, dan pesan generik seperti update membuang modal yang sama. Body bebas memakai naratif biasa; istilah teknis tetap bahasa Inggris sesuai konvensi Course.
| Kata kerja | Contoh subjek |
|---|---|
Tambah | Tambah ekspor catatan ke berkas |
Perbaiki | Perbaiki token kedaluwarsa di autentikasi |
Hapus | Hapus modul ulasan tidak terpakai |
Pindahkan | Pindahkan validasi ke skrip inti |
Ringkas | Ringkas statistik catatan mingguan |
Pesan commit yang rapi dibaca satu per satu — git log --oneline, --grep, changelog, semua alat membaca baris subjek lebih dulu. Strategi berikutnya menentukan bagaimana commit-commit itu tersusun menjadi riwayat tim: cabang apa yang dipakai, kapan menyatu, dan seberapa berat aturannya — lima polanya dibandingkan di Strategi Branching
.