Skip to main content

จัด Commit Message ให้เป็นระเบียบ ให้อ่านเองก็เข้าใจ ใครอ่านก็ไม่งง

เขียน Commit Message ว่ายากแล้ว เขียนให้เป็นระเบียบยิ่งยากกว่า มาแยกประเภทกันเพื่อให้ดูเป็นระเบียบมากขึ้นกันเถอะ อ่านเองก็เข้าใจ ใครมาอ่านก็ไม่งง

แต่ประเภทพวกนี้ก็ไม่ได้มีแนวทางชัดเจนกำหนดไว้ว่ามีอะไรบ้าง โพสท์นี้ก็จะขอยกแนวทางที่ Angular ใช้งานมาซึ่งได้แยกเป็นประเภทดังนี้:

  • feat (✨): ฟีเจอร์ใหม่
  • fix (🐛): แก้ไขบัค
  • refactor (📦): ปรับโครงสร้าง​ (ไม่ได้เพิ่มฟีเจอร์ แต่ก็ไม่ได้แก้บัค)
  • style (💎): การแก้ไขโค้ดที่ไม่ได้เปลี่ยนแปลงความหมาย เช่น เติม semicolon, ลบ whitespace
  • test (🚨): เพิ่ม/แก้ไข Test
  • perf (🚀): ปรับปรุงประสิทธิภาพการทำงาน
  • build (🔨): การแก้ไขที่กระทบกระบวนการ Build
  • ci (⚙️): ปรับการตั้งค่า CI เช่น ปรับขั้นตอนการทำงานของ GitHub Actions
  • docs (📚): การแก้ไขที่เกี่ยวกับเอกสาร เช่น แก้ README

วิธีใช้งานก็แค่เติมนำหน้า Commit Message ไปเลย เช่น:

  • feat: add confirmation dialog on delete
  • fix: isOdd returns true when input is 0
  • refactor: remove unnecessary else after return

ยังมีอีกประเภทที่น่าสนใจเพิ่มเติมจากแนวทางของ Angular คือ chore (♻️) สำหรับการแก้ไขที่ไม่เกี่ยวกับโค้ด แต่ก็ไม่เกี่ยวกับประเภทอื่น ๆ เลย (ง่าย ๆ ก็คือหาประเภทที่เหมาะไม่ได้) เช่น แก้ไขการตั้งค่า IDE, แก้ไข .gitignore, ฯลฯ

การทำแบบนี้ไม่ได้แค่ช่วยให้ดูมีระเบียบมากขึ้นเท่านั้น แต่ยังช่วยให้สามารถสร้าง Changelog จาก Commit History ได้แบบอัตโนมัติ ซึ่งหากใครสนใจก็สามารถไปดูได้ที่: https://github.com/conventional-changelog/conventional-changelog

อ้างอิง


เนื้อหานี้ถูกเผยแพร่ครั้งแรกในรูปแบบของโพสท์ Facebook เพื่อให้ง่ายต่อการสืบค้นจึงนำมาจัดเก็บในรูปแบบบทความด้วย