ปัญหาของ commit message
โดยปกติแล้ว เวลาเรา commit code เข้า source control ถ้าไม่ได้มีการตกลงกันว่าจะใช้ commit message รูปแบบไหน ก็จะออกมาแนวตัวอย่างด้านล่าง
13be475b2 - 3 weeks ago : change tutorial banner
0559f19c6 - 3 weeks ago : Add hours ago for unlockerView
31f7893eb - 3 weeks ago : Fix barrier constraint
ba2a7b935 - 3 weeks ago : Update build version
จะเห็นได้ว่าอ่านได้ยากพอสมควร เนื่องจากแต่ละ message ไม่มีความชัดเจนว่าเป็นงานแบบไหน จึงควรมี format ที่เป็นตัวกลางสักตัวที่ทุกคนในทีมเวลา commit code จะได้เขียนเหมือนๆ กัน
Semantic Commit Messages
ข้างล่างนี้จะเป็นรูปแบบของ message ที่ชื่อว่า Semantic Commit Messages
ความหมาย
- feat: feature ใหม่สำหรับผู้ใช้ เช่น เพิ่มให้ผู้ใช้เซฟรูปภาพลงเครื่องได้
- fix: แก้บั๊กต่างๆ ก็เขียนแปะไว้ว่าที่เราแก้ไปมีบั๊กเรื่องอะไรบ้าง
- doc: ใช้สำหรับอัพเดทพวก document ประกอบ ใน git เราสามารถใส่ document ของ project เราลงไปได้เช่นพวก README.md
- style: แก้พวก code style พวก spacebar ลืม semicolons หรือปรับ format ต่างของ code ที่ไม่กระทบกับการใช้งานของผู้ใช้
- refactor: refactor code รวมถึงเรื่องเปลี่ยนชื่อ function หรือตัวแปรต่างๆ
- test: ใช้เวลาแก้ code ในระบบ test ที่ไม่กระทบการใช้งานของผู้ใช้ เช่น เพิ่ม test หรือ refactor test
- chore: แก้ไข build script ต่างๆ ที่ไม่เกี่ยวกับตัว source code
โดยหลังจากเปลี่ยนแล้วไปใช้ format เดียวกันแล้วตาม comment ตัวอย่างข้างบนเราจะได้ออกมาตามด้านล่างนี้
13be475b2 - 3 weeks ago : feat: change tutorial banner
0559f19c6 - 3 weeks ago : style: Add hours ago for unlockerView
31f7893eb - 3 weeks ago : fix: barrier constraint
ba2a7b935 - 3 weeks ago : chore: Update build version
สรุป
การที่เราใส่ commit message ให้เป็นไปตามรูปแบบที่ตกลงกันไว้ เวลาเราย้อนกลับมาดูหรือเวลา review code กัน มันช่วยให้ทีมสื่อสารกันได้ง่ายขึ้น จะมาหาอะไรเราก็สนใจที่หัวข้อก่อนได้เลย
Top comments (0)