software development

testing first

tanpa direktori sub folder.

In This Guide

KONVENSI COMMIT GIT (CONVENTIONAL COMMITS)

1. STRUKTUR DASAR

Format pesan commit mengikuti pola berikut:

<tipe>(<scope>): <deskripsi>
[body opsional]
[footer opsional]

Keterangan:

  • : Jenis perubahan (wajib).
  • (): Lingkup perubahan (opsional, dalam tanda kurung).
  • : Ringkasan singkat perubahan (wajib).
  • [body]: Penjelasan detail (opsional, pisahkan dengan satu baris kosong).
  • [footer]: Referensi isu atau perubahan merusak (opsional).

2. JENIS-JENIS TIPE (TYPE)

Gunakan kata kunci berikut untuk mengklasifikasikan commit:

  • feat: Menambahkan fitur baru (meningkatkan versi MINOR).
  • fix: Memperbaiki bug (meningkatkan versi PATCH).
  • docs: Perubahan pada dokumentasi.
  • style: Perubahan format kode (spasi, indentasi) tanpa mengubah logika.
  • refactor: Perubahan struktur kode tanpa mengubah perilaku.
  • perf: Perubahan untuk meningkatkan performa.
  • test: Menambahkan atau memperbaiki pengujian.
  • build: Perubahan pada sistem build atau dependensi.
  • ci: Perubahan pada konfigurasi CI/CD.
  • chore: Tugas pemeliharaan lainnya.
  • revert: Membatalkan commit sebelumnya.

3. CONTOH PENGGUNAAN

a. Commit Fitur Baru: feat: tambahkan fitur login pengguna feat(auth): implementasi OAuth2 Google

b. Commit Perbaikan Bug: fix: perbaiki error pada kalkulasi total harga fix(cart): handle item dengan jumlah nol

c. Commit Dokumentasi: docs: perbarui instruksi instalasi di README docs(api): tambahkan contoh penggunaan endpoint user

d. Commit Perubahan Merusak (Breaking Change): Gunakan tanda seru (!) setelah tipe atau footer BREAKING CHANGE.

feat(api)!: hapus endpoint versi lama chore!: hentikan dukungan untuk Node.js 14 BREAKING CHANGE: API sekarang memerlukan token autentikasi di header.

e. Commit dengan Body Lengkap: fix(payment): perbaiki gagal transaksi pada gateway X

Gateway pembayaran sering timeout karena logika retry yang salah. Perubahan ini mengimplementasikan exponential backoff.

Refs: #123 Reviewed-by: Budi Santoso

4. ATURAN PENULISAN (BEST PRACTICES)

  • Gunakan kalimat perintah (imperatif): Tulis “tambahkan” bukan “menambahkan” atau “ditambahkan”.
  • Huruf kecil: Gunakan huruf kecil untuk tipe dan deskripsi (kecuali nama diri).
  • Tanpa titik: Jangan akhiri baris pertama (subjek) dengan tanda titik.
  • Batas karakter: Usahakan baris pertama maksimal 50 karakter.
  • Pisahkan body: Selalu beri satu baris kosong antara judul dan body.
  • Wrap body: Batasi panjang baris body sekitar 72 karakter agar rapi di terminal.

5. MANFAAT KONVENSI INI

  • Changelog Otomatis: Alat dapat membuat daftar perubahan secara otomatis.
  • Penomoran Versi: Menentukan kenaikan versi (Major, Minor, Patch) secara otomatis.
  • Kejelasan: Memudahkan tim memahami riwayat perubahan kode.
  • Standar Industri: Format yang diakui secara luas dalam ekosistem pengembang.