การเขียน commit ที่ดีและถูกต้องถือเป็นเรื่องสำคัญในการพัฒนาโปรเจค โดยเฉพาะเมื่อทำงานร่วมกับทีม เนื่องจาก commit ที่เขียนดีสามารถช่วยให้การติดตามการเปลี่ยนแปลง, การแก้ไขปัญหาย้อนหลัง, และการทำงานร่วมกับทีมเป็นไปได้อย่างราบรื่น
ในบทความนี้เราจะพูดถึงหลักการและแนวทางที่ถูกต้องในการเขียน commit พร้อมตัวอย่างโค้ด
หลักการเขียน Commit ที่ถูกต้อง
- ใช้ข้อความ commit ที่ชัดเจนและกระชับ
- ข้อความ commit ควรบอกให้ชัดเจนว่าแก้ไขอะไรและทำไม โดยไม่ต้องยาวเกินไป
- ใช้คำกริยาช่องปัจจุบัน เช่น "Add", "Fix", "Update" เป็นต้น
ตัวอย่าง:
git commit -m "Fix bug in login form validation"
-
เขียนข้อความ commit ให้สอดคล้องกับรูปแบบ
ควรใช้รูปแบบที่สม่ำเสมอในการเขียน commit โดยอาจแบ่งออกเป็นหัวข้อย่อย เช่น
feat
(ฟีเจอร์ใหม่)fix
(การแก้ไขปัญหา)docs
(การเปลี่ยนแปลงเอกสาร)style
(การปรับแต่งโค้ด)refactor
(การปรับปรุงโค้ดที่ไม่มีผลกระทบต่อฟังก์ชันการทำงาน)test
(เพิ่มการทดสอบ)
ตัวอย่าง:
git commit -m "feat: Add user authentication"
git commit -m "fix: Resolve crashing issue on checkout page"
-
หลีกเลี่ยงการเขียน commit ที่ไม่เกี่ยวข้องกับการเปลี่ยนแปลง
- ควรหลีกเลี่ยงการรวมหลายการเปลี่ยนแปลงใน commit เดียว เช่น แก้ไข bug, เพิ่มฟีเจอร์, และปรับปรุงการทดสอบใน commit เดียวกัน
- แยก commit ตามการเปลี่ยนแปลงที่ชัดเจน เช่น เพิ่มฟีเจอร์แยกออกจากการแก้ไข bug
-
รวมรายละเอียดที่จำเป็นใน commit message
- หากการเปลี่ยนแปลงมีผลกระทบหรือรายละเอียดที่สำคัญ เช่น ปัญหาที่ถูกแก้ไข หรือวิธีการที่ใช้ในการแก้ไข ควรอธิบายในบรรทัดที่สองของ commit message
ตัวอย่าง:
git commit -m "fix: Resolve login page form validation"
Fixes an issue where the form validation would not trigger if the user left one of the fields empty.
-
การใช้ข้อความที่มีรูปแบบมาตรฐาน (Conventional Commits)
แนวทางนี้ช่วยให้การจัดการ commit สะดวกยิ่งขึ้น โดยกำหนดรูปแบบมาตรฐาน เช่น
type(scope): description
- type: ชนิดของการเปลี่ยนแปลง เช่น feat, fix, docs - scope: ขอบเขตของการเปลี่ยนแปลง (สามารถเลือกได้ตามความเหมาะสม) - description: การอธิบายการเปลี่ยนแปลง
ตัวอย่าง:
git commit -m "feat(auth): Add JWT authentication"
git commit -m "fix(user): Correct profile update form validation"
ข้อแนะนำเพิ่มเติมในการเขียน commit
-
ให้ความสำคัญกับการเขียนข้อความ commit ที่ดี
- พยายามใช้ข้อความที่อธิบายการเปลี่ยนแปลงได้ชัดเจนและเข้าใจได้ง่าย โดยไม่ต้องอ่านโค้ด
- ใช้เครื่องมือเช่น
git commit --verbose
เพื่อแสดงการเปลี่ยนแปลงที่เกี่ยวข้องใน commit
-
หมั่นตรวจสอบ commit ก่อน push
- ใช้คำสั่ง
git status
และgit diff
เพื่อตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้นก่อน commit - ใช้คำสั่ง
git log
เพื่อตรวจสอบ commit ล่าสุดใน repository
- ใช้คำสั่ง
-
ใช้ commit ขนาดเล็ก
- Commit ควรมีขนาดเล็กและมีความหมายเพื่อให้ง่ายต่อการติดตามและตรวจสอบประวัติการเปลี่ยนแปลง
ตัวอย่างโค้ด
# ทำการแก้ไขปัญหาผู้ใช้ไม่สามารถเข้าสู่ระบบได้
git commit -m "fix(auth): Resolve login failure issue"
# เพิ่มฟีเจอร์การสมัครสมาชิกผู้ใช้ใหม่
git commit -m "feat(user): Add user registration feature"
# ปรับปรุงเอกสารการใช้งาน API
git commit -m "docs(api): Update authentication API documentation"
สรุป
การเขียน commit ที่ดีและมีรูปแบบที่ชัดเจนเป็นสิ่งสำคัญที่ช่วยให้การทำงานร่วมกันในทีมเป็นไปอย่างราบรื่น ช่วยให้การติดตามประวัติการเปลี่ยนแปลงและการแก้ไขปัญหาทำได้ง่ายขึ้น ทั้งนี้ Conventional Commits จะช่วยให้การเขียน commit เป็นระบบและเข้าใจง่าย ซึ่งจะช่วยในการจัดการโปรเจคในระยะยาว