Rendi Okriza Putra·july 02, 2023·2 min read

Git Commit Guidelines

Aturan format message pada saat git commit yang tepat agar mudah di baca dan mudah diikuti serta dimengerti.

gitgithub
Git Commit Guidelines

Introduction

Pada artikel kali ini saya akan membahasa mengenai guideline atau aturan format commit massage pada github yang dipakai kebanyakan programer, mungkin kalian sering melihat commit massage ketika melihat suatu repository framework ataupun repository suatu packages, pada message commit tersebut terdapat dikata awalnya fix:, chore:, feat:, docs:, dll, apasih itu? dan apa sih gunanya ?, langsung saja kita bahasa.

Git Commit

Dokumen ini diambil dari Kontribusi ke AngularJS. Setiap kontributor proyek harus memahami aturan-aturan berikut.

Kami memiliki aturan yang sangat spesifik mengenai format pesan git commit kami. Hal ini menghasilkan pesan-pesan yang lebih mudah dibaca dan diikuti saat melihat sejarah proyek. Selain itu, kami menggunakan pesan git commit ini untuk menghasilkan catatan perubahan kerangka tema.

Format pesan commit dapat ditambahkan menggunakan alur kerja git yang khas atau melalui penggunaan wizard CLI (Commitizen). Untuk menggunakan wizard, jalankan npm run commit di terminal Anda setelah memasukkan perubahan Anda ke dalam git.

Format Pesan Commit

Setiap pesan commit terdiri dari header, body, dan footer. Header memiliki format khusus yang mencakup jenis, cakupan, dan subjek:

<type>(<scope>): <subject>
<BARIS KOSONG>

<body&gt;

Header adalah bagian wajib, sedangkan cakupan header adalah opsional. Setiap baris dalam pesan commit tidak boleh lebih dari 100 karakter! Hal ini memudahkan pembacaan pesan di GitHub serta pada berbagai alat git.

Membatalkan (Revert)

Jika commit membatalkan commit sebelumnya, harus dimulai dengan revert:, diikuti oleh header commit yang dibatalkan. Di dalam body, harus dituliskan: This reverts commit {hash}., di mana hash adalah SHA dari commit yang dibatalkan.

Jenis (type)

Harus salah satu dari yang berikut:

  • feat: Fitur baru
  • fix: Perbaikan bug
  • docs: Perubahan hanya pada dokumentasi
  • style: Perubahan yang tidak mempengaruhi makna kode (spasi putih, format, titik koma yang hilang, dll)
  • refactor: Perubahan kode yang tidak memperbaiki bug maupun menambah fitur
  • perf: Perubahan kode yang meningkatkan performa
  • test: Menambahkan pengujian yang hilang
  • chore: Perubahan pada proses pembangunan atau alat dan pustaka tambahan seperti pembuatan dokumentasi

cakupan (scope)

Cakupan bisa berupa apa pun yang menentukan tempat perubahan commit. Misalnya $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, dll...

Subjek (subject)

Subjek berisi deskripsi singkat dari perubahan:

  • gunakan kata kerja imperatif, dalam bentuk sekarang: "ubah" bukan "diubah" atau "perubahan"
  • tidak ada huruf kapital pada huruf pertama
  • tidak ada titik (.) di akhir

body

Seperti pada subjek, gunakan kata kerja imperatif, dalam bentuk sekarang: "ubah" bukan "diubah" atau "perubahan". Body harus mencakup alasan perubahan dan kontras dengan perilaku sebelumnya.

Footer harus berisi informasi tentang Perubahan yang Merusak (BREAKING CHANGE) dan juga tempat untuk merujuk GitHub issues yang ditutup oleh commit ini.

Perubahan yang Merusak harus dimulai dengan kata BREAKING CHANGE: diikuti dengan satu spasi atau dua baris baru.

Source

Komentar - 0 Comments