Swift Academy · บทเรียน

การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่

ใช้ การกำหนดเวอร์ชันตามความหมาย (MAJOR.MINOR.PATCH) สร้าง แท็ก git ที่มีคำอธิบาย และอ้างอิงเวอร์ชันในสิ่งที่ SwiftPM ต้องพึ่งพาอย่างชัดเจน

บทเรียน 2 จาก 38 ขั้นตอน

การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แพ็กเกจไลบรารีเทียบกับแพ็กเกจโปรแกรมปฏิบัติการ
  2. การกำหนดเวอร์ชันตามความหมายและการติดแท็กรุ่นเผยแพร่
  3. พื้นฐาน CI ด้วย swift test และอาร์ทิแฟกต์
← กลับไปที่ Swift Academy