[💻] การเขียน Git Commit

By Sutthiphong Nuanma

[17 February 2025]

การเขียน Git Commit

การเขียนข้อความ Git commit ที่มีมาตรฐานและชัดเจนถือเป็นสิ่งสำคัญในการพัฒนาซอฟต์แวร์ร่วมกัน โดยหนึ่งในแนวทางที่ได้รับความนิยมคือ Conventional Commits ซึ่งกำหนดรูปแบบการเขียน commit ให้ทั้งมนุษย์และเครื่องมืออัตโนมัติสามารถเข้าใจได้ง่าย

โครงสร้างของข้อความ commit ตาม Conventional Commits:

<type>[optional scope]: <subject>

[optional body]

[optional footer(s)]
  • <type>: ระบุประเภทของการเปลี่ยนแปลง เช่น feat (ฟีเจอร์ใหม่), fix (แก้ไขบั๊ก)

  • <optional scope>: ขอบเขตของการเปลี่ยนแปลง เช่น ชื่อโมดูลหรือไฟล์ (ไม่จำเป็นต้องระบุ)

  • <subject>: สรุปสั้น ๆ ของการเปลี่ยนแปลง

  • <optional body>: รายละเอียดเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลง

  • <optional footer(s)>: ข้อมูลเพิ่มเติม เช่น การอ้างอิงถึงปัญหาที่เกี่ยวข้อง หรือการแจ้งเตือนการเปลี่ยนแปลงที่มีผลกระทบใหญ่

ตัวอย่างข้อความ commit:

feat(auth): เพิ่มฟังก์ชันการเข้าสู่ระบบด้วย OAuth

รองรับการเข้าสู่ระบบผ่านผู้ให้บริการ OAuth เช่น Google และ Facebook

BREAKING CHANGE: โครงสร้างข้อมูลผู้ใช้มีการเปลี่ยนแปลงเพื่อรองรับ OAuth

ในตัวอย่างนี้:

feat(auth): เพิ่มฟีเจอร์ใหม่ในขอบเขตของการตรวจสอบสิทธิ์

เพิ่มฟังก์ชันการเข้าสู่ระบบด้วย OAuth: สรุปการเปลี่ยนแปลง

ส่วนเนื้อหาอธิบายรายละเอียดเพิ่มเติม

BREAKING CHANGE: แจ้งว่ามีการเปลี่ยนแปลงที่ส่งผลกระทบต่อการทำงานเดิม

ประเภทของ <type> ที่แนะนำ:

  • feat: เพิ่มฟีเจอร์ใหม่

  • fix: แก้ไขบั๊ก

  • docs: ปรับปรุงเอกสาร

  • style: การเปลี่ยนแปลงที่ไม่ส่งผลต่อโค้ด เช่น การจัดรูปแบบ

  • refactor: ปรับปรุงโครงสร้างโค้ดโดยไม่เปลี่ยนพฤติกรรม

  • test: เพิ่มหรือแก้ไขการทดสอบ

  • chore: งานเบ็ดเตล็ดที่ไม่ส่งผลต่อโค้ดหรือการทดสอบ

การปฏิบัติตามมาตรฐานนี้จะช่วยให้ทีมพัฒนาสามารถติดตามการเปลี่ยนแปลงได้ง่ายขึ้น และสามารถสร้างเครื่องมืออัตโนมัติเพื่อจัดการกับเวอร์ชันและการเผยแพร่ได้อย่างมีประสิทธิภาพ

สำหรับข้อมูลเพิ่มเติม สามารถศึกษาได้ที่ เว็บไซต์ทางการของ Conventional Commits