ฉันจะตรวจสอบ version version / tag 1.1.4 ของบันเดิล rspec ได้อย่างไร?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
ฉันจะตรวจสอบ version version / tag 1.1.4 ของบันเดิล rspec ได้อย่างไร?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
คำตอบ:
โคลนที่เก็บตามปกติ:
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'
สามารถใช้ชวเลขได้อย่างปลอดภัยหากที่เก็บไม่แชร์ชื่อระหว่างสาขาและแท็ก
git tag
และเพื่อดูแท็กปัญหาเพียง
ตั้งแต่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>
ที่คุณกำลังเปลี่ยนไปใช้
1.1.4
หากมีสาขาและแท็กที่เรียกว่า Git จะชำระเงินที่สาขาไม่ใช่แท็ก หากต้องการชำระเงินแท็กอย่างชัดเจนให้ทำดังนี้:git checkout tags/1.1.4