การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่
ใช้ การกำหนดเวอร์ชันตามความหมาย (MAJOR.MINOR.PATCH) สร้าง แท็ก git ที่มีคำอธิบาย และอ้างอิงเวอร์ชันในสิ่งที่ SwiftPM ต้องพึ่งพาอย่างชัดเจน
การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
SemVer คืออะไร
SemVer = MAJOR.MINOR.PATCH
- MAJOR: การเปลี่ยนแปลงที่ทำให้การใช้งานเดิมเสียหาย
- MINOR: ฟีเจอร์ใหม่ที่เข้ากันได้กับเวอร์ชันก่อนหน้า
- PATCH: การแก้ข้อบกพร่อง เอกสาร และการปรับปรุงเล็กน้อย
เมื่อใดควรเพิ่มเวอร์ชัน
เลือกประเภทการเพิ่มเวอร์ชัน:
- ลบหรือเปลี่ยนชื่อ API สาธารณะ → MAJOR
- เพิ่ม API ใหม่โดยไม่ทำให้การใช้งานเดิมเสียหาย → MINOR
- ปรับโครงสร้างภายในหรือแก้ข้อบกพร่อง → PATCH
กระบวนการทำแท็ก Git
สร้าง แท็กที่มีคำอธิบาย (เช่น v1.2.0) แล้วพุชแท็กนั้น SwiftPM จะค้นหาแพ็กเกจจากแท็ก Git
// Create an annotated tag and push it so SwiftPM can resolve it.
// Prereqs: tests pass; CHANGELOG updated.
//
// git add -A
// git commit -m "Release 1.2.0: new JSON helpers"
// git tag -a v1.2.0 -m "v1.2.0"
// git push --follow-tags
//
// Note: use the "v" prefix consistently (e.g., v1.2.0).
print("Tagged v1.2.0 and pushed with --follow-tags")ข้อกำหนดเวอร์ชันของ SwiftPM
ใน Package.swift ให้เลือกรูปแบบข้อกำหนด ได้แก่ from:, exact:, .upToNextMajor หรือ .upToNextMinor
// Package.swift (illustrative dependency specs)
// dependencies: [
// // Compatible with 1.x (>=1.2.0, <2.0.0)
// .package(url: "https://example.com/Lib.git", from: "1.2.0"),
//
// // Exact pin:
// // .package(url: "https://example.com/Lib.git", exact: "1.2.3"),
//
// // Up to next major (same as "from:"):
// // .package(url: "https://example.com/Lib.git", .upToNextMajor(from: "1.2.0")),
//
// // Up to next minor (>=1.2.0, <1.3.0):
// // .package(url: "https://example.com/Lib.git", .upToNextMinor(from: "1.2.0"))
// ]
print("Declare dependency ranges clearly: from/exact/upToNextMajor/upToNextMinor")แนวปฏิบัติในการจัดทำ CHANGELOG
สรุปการเปลี่ยนแปลงในแต่ละเวอร์ชัน เน้นรายการ BREAKING ให้เห็นอย่างชัดเจน เพื่อให้ผู้ใช้ปรับรุ่นได้อย่างปลอดภัย
// Keep a concise CHANGELOG with headings per version.
//
// # Changelog
// ## [1.2.0] - 2025-09-19
// - Add JSON.encodePretty(_:) (non-breaking)
// - Fix crash in Parser.parse() on empty input
//
// ## [2.0.0] - 2026-01-10
// - BREAKING: Renamed Parser.parse(_:) -> Parser.run(_:)
print("Write a short, helpful CHANGELOG for each release")เคล็ดลับสำหรับรุ่นก่อนเผยแพร่
รุ่นก่อนเผยแพร่ (เช่น 2.0.0-beta.1) แสดงว่ายังไม่เสถียร หลีกเลี่ยงการสร้างแท็กหากไม่ต้องการให้ผู้ใช้เลือกแท็กเหล่านี้เป็นค่าเริ่มต้น และตั้งชื่อแท็กให้สอดคล้องกัน
กฎการเพิ่มเวอร์ชันตาม SemVer
ตรวจสอบอย่างรวดเร็ว: เมื่อใดควรเพิ่ม MAJOR
สรุป
สรุป: ใช้ SemVer (MAJOR.MINOR.PATCH) สร้าง แท็ก git ที่มีคำอธิบาย เช่น v1.2.0 ระบุ ช่วงเวอร์ชัน ของการพึ่งพาใน Package.swift และดูแล CHANGELOG ให้ชัดเจน
เรียนรู้ Swift ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 122
- บทเรียน
- 409
คำถามที่พบบ่อย
บทเรียน “การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่”
ใช้ การกำหนดเวอร์ชันตามความหมาย (MAJOR.MINOR.PATCH) สร้าง แท็ก git ที่มีคำอธิบาย และอ้างอิงเวอร์ชันในสิ่งที่ SwiftPM ต้องพึ่งพาอย่างชัดเจน คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แพ็กเกจไลบรารีเทียบกับแพ็กเกจโปรแกรมปฏิบัติการ
- การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่
- พื้นฐาน CI ด้วย swift test และอาร์ทิแฟกต์