เปลี่ยนเป็นแท็ก Git อื่น


คำตอบ:


336

โคลนที่เก็บตามปกติ:

git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle

จากนั้นชำระเงินแท็กที่คุณต้องการ:

git checkout tags/1.1.4

การดำเนินการนี้จะชำระเงินแท็กในสถานะ 'ถอดหัว' ในรัฐนี้ "คุณสามารถมองไปรอบ ๆ ทำการเปลี่ยนแปลงทดสอบและส่งมอบและ [ยกเลิกการกระทำเหล่านั้น] โดยไม่กระทบสาขาใด ๆ โดยดำเนินการชำระเงินอีกครั้ง"

หากต้องการรักษาการเปลี่ยนแปลงใด ๆ ให้ย้ายไปยังสาขาใหม่:

git checkout -b 1.1.4-jspooner

คุณสามารถกลับไปที่สาขาหลักได้โดยใช้:

git checkout master

หมายเหตุดังที่ได้กล่าวไว้ในการแก้ไขครั้งแรกของคำตอบนี้มีวิธีการชำระเงินแท็ก:

git checkout 1.1.4

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

warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'

สามารถใช้ชวเลขได้อย่างปลอดภัยหากที่เก็บไม่แชร์ชื่อระหว่างสาขาและแท็ก


78
สำหรับผู้ชมที่ขับรถโดยคำตอบนี้ไม่ชัดเจน 1.1.4หากมีสาขาและแท็กที่เรียกว่า Git จะชำระเงินที่สาขาไม่ใช่แท็ก หากต้องการชำระเงินแท็กอย่างชัดเจนให้ทำดังนี้:git checkout tags/1.1.4
ocodo

2
เราจะกลับไปที่ 'ลำตัว' ได้อย่างไร
Vinay W

3
@VinayWadhwa ผู้ชำนาญการชำระเงินหลัก
ABCD.ca

1
git tagและเพื่อดูแท็กปัญหาเพียง
ACK_stoverflow

8

ตั้งแต่Git v2.23.0 (สิงหาคม 2019) git switchเป็นที่ต้องการมากกว่าgit checkoutเมื่อคุณเพียงสลับสาขา / แท็ก ฉันเดาว่าพวกเขาทำเช่นนี้เนื่องจากgit checkoutมีสองฟังก์ชั่น: สำหรับการสลับแบรนช์และสำหรับการกู้คืนไฟล์ ดังนั้นใน v2.23.0 พวกเขาจึงเพิ่มคำสั่งใหม่สองคำสั่งgit switchและgit restoreเพื่อแยกข้อกังวลเหล่านั้นออก ฉันจะทำนายในบางจุดในอนาคตgit checkoutจะถูกคัดค้าน

git switch <branch-name>เพื่อสลับไปยังสาขาปกติการใช้งาน ในการสลับไปยังวัตถุที่มีลักษณะคล้ายคอมมิชชันรวมถึงคอมมิทเดียวและแท็กให้ใช้git switch --detach <commitish>โดยที่<commitish>ชื่อแท็กหรือหมายเลขการคอมมิท

--detachกองกำลังตัวเลือกที่คุณจะรับรู้ว่าคุณอยู่ในโหมดของ“การตรวจสอบและ discardable ทดลอง” ในการสร้างสาขาใหม่จาก commitish git switch -c <new-branch> <start-point>ที่คุณกำลังเปลี่ยนไปใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.