Git Tags: What Are They and How To Use Them

03-Jan-24

คัมภีร์เทพ IT

See the original english version Click here!

 

เมื่อคุณทำงานในสาย Programming ดูเหมือนคุณจะต้องเกี่ยวข้องกับ Git ไปโดยปริยาย ซึ่งคุณจะได้รับประโยชน์มากมายจากการใช้งาน Git นั่นหมายถึง ยังมีอะไรใน Git อีกมากมายให้คุณได้เรียนรู้ และบทความนี้จะทำให้คุณได้ทราบว่า Git Tags คืออะไร และจะใช้งานมันอย่างไร

สำหรับ Git นั้น Tag คือวิธีการทำเครื่องหมายจุดเฉพาะที่ต้องการใน History ของ Repository โดยทั่วไปแล้ว เราจะใช้เพื่อติดป้ายกำกับ Milestones หรือ Releasesที่สำคัญ ๆ เช่น Version, Release หรือ Project Update หลัก ๆ ซึ่งโดยปกติจะมีจุดประสงค์หลัก ๆ อยู่ 3 ข้อ ซึ่งประกอบไปด้วย:

  1. Release Versions: Tags มักถูกใช้เพื่อระบุ Version ที่ต้องการของ Software Releases ตัวอย่างคือ `v1.0` tag ซึ่งสามารถใช้เพื่อแสดงถึง Software ที่เป็น Official Release ตัวแรก ของคุณ
  2. Stable Points: Tags สามารถใช้ Mark จุดที่ Stable ใน Development Process ได้ สิ่งนี้มีประโยชน์อย่างยิ่ง เมื่อคุณต้องการเน้นการ Commits ที่มีความเสถียรภาพและสามารถเชื่อถือได้ เช่น หลังจาก Release ตัว Feature หลักเสร็จแล้ว หรือแก้ไข Bugs ที่สำคัญ ๆ
  3. Documentation: Tags สามารถใช้เป็น Documentation Markers ได้ ด้วยการ Tag จุดที่มีความสำคัญใน History ของ Project จะทำให้คุณจะสร้าง References ที่สามารถใช้เพื่อทำความเข้าใจและวิเคราะห์ความเป็นไปของ Codebase ได้

Local Tags

เมื่อพูดถึงการใช้ Tags ในเครื่อง Local เราสามารถแบ่ง Tags ของ Git ออกได้เป็น 2 ประเภท คือ Lightweight Tags และ Annotated Tags

  • Lightweight Tags: นี่เป็น Pointers ง่าย ๆ ที่ชี้ไปยัง Commits ที่ต้องการ มันถูกสร้างขึ้นโดยใช้คำสั่ง `git tag` แล้วตามด้วย Tag Name ตัวอย่างเช่น:

สิ่งนี้จะสร้าง Lightweight Tag ที่ชื่อ “v1.0” ที่ Commit ตัวปัจจุบัน Lightweight Tags นั้นสร้างได้ง่ายและไม่เก็บข้อมูลเพิ่มเติมแต่อย่างใด เช่น ชื่อของ User ที่สร้าง Tag หรือ วันที่ปัจจุบัน

  • Annotated Tags: Annotated Tags จะมีการจัดเก็บข้อมูลพิเศษเพิ่มเติม เช่น ชื่อของ Tagger, Email, Date และ Message พวกมันถูกสร้างขึ้นโดยใช้ `-a` หรือ ` — annotate` Option ด้วยคำสั่ง `git tag` ตัวอย่างเช่น:

คำสั่งนี้จะสร้าง Annotated Tag ที่ชื่อ v1.0” พร้อมด้วยข้อความที่ต้องการจะระบุ โดยทั่วไป Annotated Tags มักนิยมใช้สำหรับ Documenting Releases หรือ Milestones ที่สำคัญ เนื่องจากเราสามารถใส่ Context และข้อมูลที่มากขึ้น

ทั้ง Lightweight และ Annotated Tags ถูกสร้างขึ้นในเครื่อง Local และสามารถใช้เพื่อการอ้างอิงส่วนตัวของคุณ หรือเพื่อแชร์กับ Developers คนอื่น ๆ ที่ทำงานใน Project นั้น

Pushing Tags

Tags จะไม่ถูก Push โดยอัตโนมัติเมื่อคุณ Push Commits ไปยัง Remote Repository แต่คุณสามารถ Push ได้ทั้งทีละ Tags หรือ Push Tags เป็นกลุ่มได้ด้วยตัวคุณเอง โดยคุณต้องระบุ ชื่อ Tags หลังคำสั่ง `git push`:

คุณสามารถ Push Tags ทั้งหมดที่เป็นส่วนหนึ่งของ Local Repository ของคุณได้ โดยใช้ --tags Falg:

หรือระบุ Flags ไปกับ Commits  ที่เกี่ยวข้องใน Branch ปัจจุบันโดยใช้ --follow-tags Option:

Tag Visibility

เมื่อคุณ Push Tag ไปยัง Remote Repository จะทำให้คนอื่น ๆ ที่ Clone หรือ Fetch จาก Repository นั้นไป ได้เห็น Tags เหล่านั้นด้วย อย่างไรก็ตาม โดย Default แล้ว Tags จะไม่ถูก Fetch ออกมาโดยอัตโนมัติเมื่อมีคนใช้ "git clone" หรือ "git fetch" หากต้องการจะดึง Tags จาก Remote Repository ตัว User เองจะต้องทำการระบุ Tags ที่ต้องการจะ Fetch ให้ชัดเจน หรือใช้คำสั่ง `git fetch — tags` เพื่อ Fetch Tags ทั้งหมด

Deleting Tags

หากคุณได้ Push Tag ไปยัง Remote Repository แล้ว และตัดสินใจที่จะลบมันออกในภายหลัง คุณสามารถลบ Tags ได้ทั้งในเครื่อง Local และ Remote

หากต้องการจะลบ Local Tag คุณสามารถใช้คำสั่ง:

แต่หากคุณต้องการจะลบ Remote Tag คุณสามารถใช้คำสั่ง:

สรุป

Tags ใน Git นั้นมีประโยชน์สำหรับการ Mark จุดที่สำคัญ ๆ ใน History ของ Project, Documenting Releases, และให้ Reference ที่ชัดเจนสำหรับ Milestones สำคัญ ๆ ได้ ดังนั้น การทำความเข้าใจวิธีสร้าง การจัดการ และลบ Tags จะสามารถช่วยปรับปรุง Git Workflow ของคุณ และการทำงานร่วมกันกับ Developers คนอื่นได้

ที่มา: https://towardsdatascience.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด