Git - Hoạt động thẻ

Thao tác thẻ cho phép đặt tên có ý nghĩa cho một phiên bản cụ thể trong kho lưu trữ. Giả sử Tom và Jerry quyết định gắn thẻ mã dự án của họ để sau này họ có thể truy cập dễ dàng.

Tạo thẻ

Hãy để chúng tôi gắn thẻ HEAD hiện tại bằng cách sử dụng git tagchỉ huy. Tom cung cấp tên thẻ với tùy chọn -a và cung cấp thông báo thẻ với tùy chọn –m.

tom@CentOS project]$ pwd
/home/tom/top_repo/project

[tom@CentOS project]$ git tag -a 'Release_1_0' -m 'Tagged basic string operation code' HEAD

Nếu bạn muốn gắn thẻ một cam kết cụ thể, thì hãy sử dụng ID COMMIT thích hợp thay vì con trỏ HEAD. Tom sử dụng lệnh sau để đẩy thẻ vào kho lưu trữ từ xa.

[tom@CentOS project]$ git push origin tag Release_1_0

Lệnh trên sẽ cho kết quả sau:

Counting objects: 1, done.
Writing objects: 100% (1/1), 183 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To [email protected]:project.git
* [new tag]
Release_1_0 −> Release_1_0

Xem thẻ

Tom đã tạo thẻ. Bây giờ, Jerry có thể xem tất cả các thẻ có sẵn bằng cách sử dụng lệnh thẻ Git với tùy chọn –l.

[jerry@CentOS src]$ pwd
/home/jerry/jerry_repo/project/src

[jerry@CentOS src]$ git pull
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From git.server.com:project
* [new tag]
Release_1_0 −> Release_1_0
Current branch master is up to date.

[jerry@CentOS src]$ git tag -l
Release_1_0

Jerry sử dụng lệnh Git show theo sau là tên thẻ của nó để xem thêm chi tiết về thẻ.

[jerry@CentOS src]$ git show Release_1_0

Lệnh trên sẽ cho kết quả sau:

tag Release_1_0
Tagger: Tom Cat <[email protected]>
Date: Wed Sep 11 13:45:54 2013 +0530

Tagged basic string operation code


commit 577647211ed44fe2ae479427a0668a4f12ed71a1
Author: Tom Cat <[email protected]>
Date: Wed Sep 11 10:21:20 2013 +0530

Removed executable binary

diff --git a/src/string_operations b/src/string_operations
deleted file mode 100755
index 654004b..0000000
Binary files a/src/string_operations and /dev/null differ

Xóa thẻ

Tom sử dụng lệnh sau để xóa thẻ khỏi kho lưu trữ cục bộ cũng như từ xa.

[tom@CentOS project]$ git tag
Release_1_0

[tom@CentOS project]$ git tag -d Release_1_0
Deleted tag 'Release_1_0' (was 0f81ff4)
# Remove tag from remote repository.

[tom@CentOS project]$ git push origin :Release_1_0
To [email protected]:project.git
- [deleted]
Release_1_0