Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Git Tag

การติดแท็กเป็นคุณลักษณะที่ใช้ในการติดตามจุดเฉพาะในประวัติของที่เก็บ Git

เมื่อเวลาผ่านไป เมื่อคุณทำงานกับที่เก็บ Git คุณจะทำการเปลี่ยนแปลงจำนวนมากในฐานรหัสของคุณ ใน Git การคอมมิตใช้เพื่อติดตามการเปลี่ยนแปลงแต่ละรายการ

อย่างไรก็ตาม หากคุณต้องการบันทึกจุดในประวัติของที่เก็บของคุณ เช่น เวอร์ชัน คุณจะต้องใช้คุณลักษณะการแท็ก Git

บทช่วยสอนนี้จะกล่าวถึงตัวอย่าง พื้นฐานของการแท็กและวิธีใช้คำสั่ง git tag เพื่อทำงานกับแท็กในที่เก็บ Git เมื่ออ่านบทช่วยสอนนี้จบ คุณจะเป็นผู้เชี่ยวชาญในการทำงานกับแท็กใน Git

การแท็ก Git

แท็กคือข้อมูลอ้างอิง (refs) ซึ่งชี้ไปที่ส่วนเฉพาะของประวัติที่เก็บ Git

โดยทั่วไปแล้วนักพัฒนาจะใช้แท็กเพื่อบันทึกจุดเฉพาะในประวัติของ repo เพื่อสร้างเวอร์ชันที่วางจำหน่าย ตัวอย่างเช่น เมื่อนักพัฒนาพร้อมที่จะเปิดตัวโครงการเวอร์ชันใหม่ พวกเขาอาจสร้างแท็กสำหรับโครงการ

โดยพื้นฐานแล้วแท็กคือสาขาที่ไม่เปลี่ยนแปลง หลังจากที่คุณสร้างแท็กแล้ว จะไม่มีการเพิ่มประวัติของแท็กอีกต่อไป แต่แท็กจะเก็บสแน็ปช็อตของลักษณะที่ที่เก็บปรากฏขึ้นเมื่อมีการเพิ่มแท็ก

แท็กที่รองรับใน Git มีอยู่สองประเภท เหล่านี้คือ:

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

  • แท็กที่มีคำอธิบายประกอบ นี่คือแท็กที่จัดเก็บเป็นวัตถุแบบเต็มในฐานข้อมูล Git
  • แท็กน้ำหนักเบา นี่คือแท็กที่เป็นชื่อและตัวชี้ไปยังการกระทำ

ตอนนี้เราได้พูดถึงพื้นฐานของการติดแท็ก Git แล้ว สำรวจว่าคุณทำงานกับแท็กใน Git ได้อย่างไร

สร้างแท็ก

ก่อนที่คุณจะเริ่มทำงานกับแท็กใน Git ได้ คุณต้องสร้างแท็กเสียก่อน ไวยากรณ์สำหรับการสร้างแท็กใน Git มีดังนี้:

แท็ก git 

พารามิเตอร์ "ชื่อ" หมายถึงชื่อของแท็กที่คุณต้องการสร้าง เนื่องจากโดยปกติแล้วการติดแท็กจะใช้เพื่อติดตามเวอร์ชันของโปรเจ็กต์ คุณอาจต้องการใช้ชื่อ เช่น “v1.2” หรือ “beta-v0.9” สำหรับแท็ก

แท็กที่คุณสร้างจะถูกนำไปใช้กับการคอมมิตปัจจุบันที่คุณอยู่ในที่เก็บของคุณ

แท็กที่มีคำอธิบายประกอบ

แท็กที่มีคำอธิบายประกอบคือแท็กที่เก็บวัตถุทั้งหมดไว้ในฐานข้อมูล Git เมื่อคุณสร้างแท็กที่มีคำอธิบายประกอบ ข้อมูลเมตา เช่น ชื่อของบุคคลที่สร้างแท็ก อีเมลของพวกเขา และวันที่สร้างแท็กจะถูกจัดเก็บไว้

นอกจากนี้ แท็กที่มีคำอธิบายประกอบจะถูกเก็บไว้พร้อมกับข้อความสำหรับแท็ก โดยทั่วไป แท็กที่มีคำอธิบายประกอบเป็นที่ต้องการมากกว่าแท็กที่มีน้ำหนักเบา เนื่องจากข้อมูลเมตาที่จัดเก็บโดยแท็กที่มีคำอธิบายประกอบสามารถมีการใช้งานได้หลายอย่าง

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

นี่คือไวยากรณ์สำหรับการสร้างแท็กที่มีคำอธิบายประกอบใน Git:

git tag -a 

แฟล็ก -a ใช้เพื่อบอกให้ Git สร้างแท็กที่มีคำอธิบายประกอบ พารามิเตอร์ “name” คือชื่อของแท็กที่เราต้องการสร้าง

หลังจากที่เราเรียกใช้คำสั่งนี้ โปรแกรมแก้ไขข้อความเริ่มต้นของระบบจะเปิดขึ้นและขอให้เราแทรกข้อความสำหรับแท็กที่มีคำอธิบายประกอบของเรา สิ่งนี้เกิดขึ้นเพราะดังที่เราได้กล่าวไว้ก่อนหน้านี้ แท็กที่มีคำอธิบายประกอบจะถูกจัดเก็บพร้อมกับข้อความ

หรือคุณสามารถระบุข้อความที่จะสร้างแท็กได้โดยตรง คุณสามารถทำได้โดยใช้รหัสนี้:

git tag -a  -m 

แท็ก -m ใช้เพื่อเพิ่มข้อความลงในแท็กที่มีคำอธิบายประกอบ สมมติว่าเราต้องการสร้างแท็กชื่อ v1.9 พร้อมข้อความ "เวอร์ชัน 1.9" เราสามารถทำได้โดยใช้รหัสนี้:

git tag -a v1.9 -m "เวอร์ชัน 1.9"

เมื่อเราเรียกใช้คำสั่งนี้ แท็กที่เรียกว่า v1.9 จะถูกสร้างขึ้นพร้อมกับข้อความประกอบ "เวอร์ชัน 1.9"

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

แท็กน้ำหนักเบา

ในการสร้างแท็กน้ำหนักเบา คุณควรใช้ไวยากรณ์แท็ก git มาตรฐานที่เราพูดถึงก่อนหน้านี้ สมมติว่าคุณต้องการสร้างแท็กน้ำหนักเบาที่เรียกว่า “v1.9.1” คุณสามารถทำได้โดยใช้รหัสนี้:

git tag v1.9.1

คำสั่งนี้จะสร้างแท็กน้ำหนักเบาที่เรียกว่า v1.9.1 เมื่อคุณสร้างแท็กน้ำหนักเบา คุณไม่จำเป็นต้องระบุข้อความแท็ก แต่จะมีการสร้างและจัดเก็บการตรวจสอบแท็กใหม่ในโฟลเดอร์ .git ของโปรเจ็กต์แทน

แสดงรายการแท็กของโครงการ

เมื่อคุณทำงานในโครงการขนาดใหญ่ คุณอาจมีที่เก็บเวอร์ชันที่แท็กหลายเวอร์ชัน หากต้องการดึงรายการแท็กที่จัดเก็บไว้ในโปรเจ็กต์ คุณสามารถใช้คำสั่งต่อไปนี้:

แท็ก git

คำสั่งนี้ส่งคืนรายการแท็ก นี่คือตัวอย่างผลลัพธ์จากคำสั่งนี้:

v1.9.1v1.9.0v1.8.11v1.8.10v1.8.9...

นอกจากนี้ สามารถใช้แฟล็ก -l เพื่อกรองแท็กที่ใช้กับโปรเจ็กต์ได้ ตัวอย่างเช่น หากคุณต้องการดึงรายการของทุกแท็กที่ขึ้นต้นด้วย “v1.8” คุณสามารถใช้รหัสนี้:

git tag -l v1.8*

ในคำสั่งของเรา เราได้ระบุแฟล็ก -l ตามด้วย “v1.8*” สิ่งนี้แนะนำให้ Git ดึงรายการแท็กทั้งหมดที่ขึ้นต้นด้วย v1.8 เครื่องหมายดอกจัน (*) แสดงว่าแท็กที่จะส่งคืนสามารถมีอักขระใดๆ หลัง “v1.8” ได้

นี่คือตัวอย่างผลลัพธ์จากคำสั่งนี้:

v1.8.11v1.8.10v1.8.9v1.8.8...

อย่างที่คุณเห็น แท็กทั้งหมดที่ส่งคืนเริ่มต้นด้วย “v1.8”

ชำระเงินแท็ก

คำสั่ง git checkout สามารถใช้เพื่อดูสถานะของที่เก็บในการคอมมิตด้วยแท็กเฉพาะ ตัวอย่างเช่น สมมติว่าคุณต้องการดูที่เก็บของคุณเมื่ออยู่ใน v1.1 คุณสามารถทำได้โดยใช้รหัสนี้:

git checkout v1.1

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

หลังจากที่เรารันคำสั่งนี้ เราจะสามารถเห็นได้ว่า codebase ของเราปรากฏในคอมมิตที่แท็ก v1.1 อย่างไร

แท็กคำมั่นสัญญาเก่า

ในตัวอย่างก่อนหน้านี้ เราได้พูดถึงวิธีใช้ฟังก์ชันแท็ก git เพื่อเพิ่มแท็กในเวอร์ชันปัจจุบันของ git ที่คุณกำลังทำงานอยู่ เนื่องจากตามค่าเริ่มต้น แท็ก git จะสร้างแท็กสำหรับการส่ง HEAD (การคอมมิตที่คุณกำลังดูอยู่)

อย่างไรก็ตาม คุณสามารถแท็กคอมมิตแบบเก่าได้โดยใช้คำสั่ง git tag คุณสามารถทำได้โดยระบุการอ้างอิงของคอมมิตเฉพาะที่คุณต้องการเพิ่มแท็ก

สมมติว่าคุณต้องการเพิ่มแท็กในการคอมมิตล่าสุดในที่เก็บของคุณ ในการทำเช่นนั้น คุณจะต้องเรียกใช้ git log ก่อน ซึ่งจะทำให้คุณสามารถดึงรายการของคอมมิตล่าสุดได้ นี่คือตัวอย่างของคำสั่ง git log ที่ใช้งานจริง (ด้วยแฟล็ก –pretty=oneline ซึ่งทำให้เราเห็นคอมมิตของเราได้ง่าย):

git log --pretty=oneline

คำสั่งของเราส่งคืน:

8cd29ae5d04abbdbd856d2c2f55f2b82133903e8 พุชคุณลักษณะการบันทึกใหม่2911aae73ed1dd372bcdf8f520b174c3817c818bเตรียมใช้งานคุณลักษณะการบันทึกเริ่มต้น9646aa785211f3069ce01177da98e23b7890d859>แก้ไขปัญหา #342
ตอนนี้ สมมติว่าเราต้องการเพิ่มแท็กในคอมมิต "แก้ไขปัญหา #342" ของเรา เราต้องการให้แท็กนี้เรียกว่า "v1.3" เราสามารถเพิ่มแท็กนี้โดยใช้รหัสต่อไปนี้:

git tag -a v1.3 9646aa785211f3069ce01177da98e23b7890d859

คำสั่งนี้เพิ่มแท็ก 1.3 ให้กับคอมมิตที่เราอ้างอิงในโค้ดของเรา ในกรณีนี้ เราระบุแฮช SHA สำหรับการคอมมิตด้วยข้อความ “แก้ไขปัญหา #342”

แทนที่แท็กเก่า

การคอมมิตแต่ละครั้งสามารถมีได้เพียงแท็กเดียวเท่านั้น หากคุณตัดสินใจว่าต้องการแทนที่แท็กที่เกี่ยวข้องกับการคอมมิตด้วยแท็กอื่น คุณสามารถทำได้โดยใช้แท็ก git อย่างไรก็ตาม คุณต้องระบุตัวเลือก -f (บังคับ) ซึ่งจะแทนที่แท็กที่มีอยู่แทน

สมมติว่าเราต้องการเพิ่มแท็ก “v1.3.1” ให้กับคอมมิตที่เราพูดถึงในตัวอย่างก่อนหน้านี้ หากเราพยายามทำเช่นนั้นโดยไม่ใช้แฟล็ก -f ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ในการเพิ่มแท็ก “v1.3.1” ในการคอมมิตครั้งก่อน เราสามารถใช้คำสั่งนี้:

git tag -a -f v1.3.1 9646aa785211f3069ce01177da98e23b7890d859

คำสั่งนี้เพิ่มแท็ก “v1.3.1” ให้กับคอมมิตของเรา และแทนที่แท็ก “v1.3” ที่เรามีก่อนหน้านี้

ลบแท็ก

หากต้องการลบแท็กโดยใช้ git คุณสามารถใช้แฟล็ก -d สมมติว่าเราต้องการลบแท็ก "v1.3" ออกจากที่เก็บของเรา เราสามารถทำได้โดยใช้รหัสนี้:

git tag -d v1.3git tag

รหัสของเราส่งคืน:

v1.4v1.2v1.1

คำสั่งแรกลบแท็ก v1.3 ออกจากที่เก็บของเรา คำสั่งที่สองส่งคืนรายการแท็ก อย่างที่คุณเห็น เมื่อเราดึงรายการแท็ก แท็ก v1.3 หายไป เนื่องจากเราลบแท็กโดยใช้แฟล็ก -d

บทสรุป

การแท็กเป็นคุณลักษณะที่สำคัญของ Git ที่นักพัฒนาใช้เพื่อติดตามเวอร์ชันต่างๆ ของที่เก็บ Git สามารถเพิ่มแท็กในการคอมมิตปัจจุบันที่นักพัฒนากำลังดูอยู่ หรือเพิ่มไปยังคอมมิตที่มีอยู่ในที่เก็บ

บทช่วยสอนนี้กล่าวถึงตัวอย่าง พื้นฐานของการแท็กใน Git และวิธีใช้คำสั่งแท็ก Git ตอนนี้คุณพร้อมที่จะเริ่มใช้คำสั่ง git tag เหมือนนักพัฒนามืออาชีพแล้ว!