Git Tags
Git tags ใช้เพื่อสร้างเครื่องหมายในประวัติการเปลี่ยนแปลง (history) ของ repository ที่ช่วยระบุจุดสำคัญ เช่น การออกเวอร์ชันซอฟต์แวร์ใหม่ Git tags สามารถช่วยให้เรากลับไปยังจุดที่กำหนดได้ง่ายๆ และยังช่วยในการจัดการ release ต่างๆ ของโปรเจกต์
ประเภทของ Git Tags
-
Lightweight Tags
- เป็น tag ที่ง่ายและไม่มี metadata เพิ่มเติมนอกจาก commit ID ที่เชื่อมโยง
- ใช้สำหรับการ tag อย่างง่ายและไม่ต้องการข้อมูลเพิ่มเติม
-
Annotated Tags
- มี metadata เพิ่มเติม เช่น ชื่อผู้สร้าง tag วันที่ และข้อความอธิบาย
- เก็บเป็นวัตถุ (object) ใน Git database ทำให้มีความยืดหยุ่นมากกว่า
การสร้าง Git Tags
1. Lightweight Tag
สร้าง tag แบบ lightweight โดยใช้คำสั่ง:
git tag <tag_name>
ตัวอย่าง:
git tag v1.0.0
2. Annotated Tag
สร้าง tag แบบ annotated พร้อมเพิ่มข้อความอธิบาย:
git tag -a <tag_name> -m "Tag message"
ตัวอย่าง:
git tag -a v1.0.0 -m "Initial release"
การดูรายการ Git Tags
แสดงรายการ tag ทั้งหมดใน repository:
git tag
ดูรายละเอียดของ tag แบบ annotated:
git show <tag_name>
ตัวอย่าง:
git show v1.0.0
การแชร์ Tags ไปยัง Remote Repository
Tag ที่สร้างขึ้นในเครื่องจะไม่ถูก push ไปยัง remote โดยอัตโนมัติ คุณต้อง push tag โดยใช้คำสั่งต่อไปนี้:
Push Tag เดี่ยว:
git push origin <tag_name>
ตัวอย่าง:
git push origin v1.0.0
Push Tags ทั้งหมด:
git push origin --tags
การลบ Git Tags
ลบ Tag ในเครื่อง:
git tag -d <tag_name>
ตัวอย่าง:
git tag -d v1.0.0
ลบ Tag ใน Remote:
- ลบ tag ในเครื่อง:
git tag -d <tag_name> - ลบ tag ใน remote:
git push origin --delete <tag_name>
ตัวอย่าง:
git push origin --delete v1.0.0
การใช้งาน Git Tags สำหรับ Release
Git tags ช่วยให้การจัดการ release ง่ายขึ้น โดยสามารถใช้ tag เพื่อสร้าง release บนแพลตฟอร์มอย่าง GitHub หรือ GitLab ได้ ตัวอย่าง:
-
สร้าง tag เช่น
v1.0.0:git tag -a v1.0.0 -m "Initial release" -
Push tag ไปยัง remote:
git push origin v1.0.0 -
ไปที่ GitHub/GitLab และสร้าง release โดยอ้างอิง tag ที่สร้างไว้
แนวทางปฏิบัติที่ดีที่สุดสำหรับ Git Tags
- ใช้ Semantic Versioning (เช่น v1.0.0, v1.1.0, v2.0.0) เพื่อให้ง่ายต่อการจัดการเวอร์ชัน
- ใช้ Annotated Tags สำหรับการ release หรือเหตุการณ์สำคัญที่ต้องการ metadata
- เพิ่มข้อความอธิบาย tag เพื่อให้เข้าใจจุดประสงค์ได้ง่ายขึ้น
- Push tag ไปยัง remote เพื่อให้ทีมสามารถเข้าถึงได้
Git tags เป็นเครื่องมือที่ทรงพลังสำหรับการจัดการและติดตาม release ในโครงการของคุณ การใช้งาน tags อย่างเหมาะสมจะช่วยให้ทีมพัฒนาทำงานได้อย่างเป็นระบบมากขึ้น