DEV Community

Chalermporn Posoppitakwong
Chalermporn Posoppitakwong

Posted on Edited on

Semantic versioning with git flow

Image description

การเขียน semantic version นั้นมักจะใช้ในการเขียน Library และ API ต่างๆ ซึ่งเลข version ที่เป็น semantic version นั้นจะประกอบไปด้วยเลข 3 ส่วนคือ x.y.z ( ไม่มี z ก็ได้ )

โดยที่เลขแต่ละตัวนั้นหมายถึง

X คือ Major Version
Y คือ Minor Version
และสุดท้าย Z คือ Patch Version

Major จะเป็นตัวเลขในการเปลี่ยน version ครั้งใหญ่ เช่น เปลี่ยนโฉม UI เลย ตัวเลข Major จะเปลี่ยนเพิ่มขึ้น ก็ต่อเมื่อ API เปลี่ยนแบบ breaking change หมายถึงเปลี่ยนแปลงแบบ application หรือ software รอบข้าง มีสิทธิ์พัง กระทบ จำเป็นต้องอัพเดต code

Minor: เป็นการเปลี่ยนในลักษณะการเพิ่มของใหม่ feature ใหม่ ในลักษณะ backward compatible หมายความ การเพิ่มใหม่ ต้องยังคงทำให้เก่ายังทำงานได้ปกติ (คือ code feature เก่าเปลี่ยนแปลงได้ แต่ผลคือ feature เก่ายังต้องทำงานได้เหมือนเดิม)

Patch: เป็นตัวเลขย่อยหลักสุดท้าย นั่นคือ มีการเปลี่ยนแปลง code ในลักษณะของการซ่อมแซมของเดิมเท่านั้น (ไม่ทำให้ feature เดิมขาดหายไป) แต่เป็นการ fix ซ่อม เพื่อแก้ bug แก้ defect เท่านั้น

Git Flow

รูปแบบการทำงาน GitFlow นั้น ถูกเผยแพร่โดย Vincent Driessen เป็นรูปแบบการแตกแขนงที่ช่วยให้สตรีมหลายลําที่มีขอบเขตที่เข้มงวดระหว่างพวกเขา หลักการหลักค่อนข้างง่ายและใช้งานง่าย
Git Flow เป็นความหมายที่เป็นมิตรของ SemVer ที่ช่วยให้นักพัฒนาสามารถสร้างสาขาสําหรับแต่ละคุณสมบัติแพตช์รีลีสหรือ hotfix

Image description
From A successful Git branching model

Top comments (0)