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)