Câu trả lời:
Nhân bản kho lưu trữ như bình thường:
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
Sau đó kiểm tra thẻ bạn muốn như vậy:
git checkout tags/1.1.4
Điều này sẽ kiểm tra thẻ ở trạng thái 'tách rời'. Ở trạng thái này, "bạn có thể nhìn xung quanh, thực hiện các thay đổi thử nghiệm và cam kết chúng, và [loại bỏ các cam kết đó] mà không ảnh hưởng đến bất kỳ chi nhánh nào bằng cách thực hiện thanh toán khác".
Để giữ lại mọi thay đổi đã thực hiện, hãy chuyển chúng sang một nhánh mới:
git checkout -b 1.1.4-jspooner
Bạn có thể quay lại nhánh chính bằng cách sử dụng:
git checkout master
Lưu ý, như đã được đề cập trong lần sửa đổi đầu tiên của câu trả lời này, có một cách khác để kiểm tra thẻ:
git checkout 1.1.4
Nhưng như đã được đề cập trong một bình luận, nếu bạn có một nhánh có cùng tên, điều này sẽ dẫn đến git cảnh báo bạn rằng tên đó không rõ ràng và kiểm tra chi nhánh theo mặc định:
warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'
Tốc ký có thể được sử dụng một cách an toàn nếu kho lưu trữ không chia sẻ tên giữa các nhánh và thẻ.
git tag
.
Kể từ Git v2.23.0 (tháng 8 năm 2019), git switch
được ưu tiên hơn git checkout
khi bạn chỉ cần chuyển nhánh / thẻ. Tôi đoán họ đã làm điều này vì git checkout
có hai chức năng: để chuyển nhánh và khôi phục tệp. Vì vậy, trong v2.23.0, họ đã thêm hai lệnh mới git switch
và git restore
để phân tách những mối quan tâm đó. Tôi sẽ dự đoán tại một thời điểm nào đó trong tương lai, git checkout
sẽ bị từ chối.
Để chuyển sang một nhánh bình thường, sử dụng git switch <branch-name>
. Để chuyển sang một đối tượng giống như cam kết, bao gồm các cam kết và thẻ đơn, hãy sử dụng git switch --detach <commitish>
, <commitish>
tên thẻ hoặc số cam kết ở đâu.
Các --detach
lực lượng tùy chọn mà bạn nhận ra rằng bạn đang ở trong một phương thức “kiểm tra và thí nghiệm discardable” . Để tạo một nhánh mới từ cam kết bạn đang chuyển sang, hãy sử dụng git switch -c <new-branch> <start-point>
.
1.1.4
. Git sẽ kiểm tra chi nhánh, không phải thẻ. Để kiểm tra rõ ràng thẻ, hãy làm:git checkout tags/1.1.4