Thẻ phát hành trong Git là gì và bạn sử dụng chúng như thế nào?

Tác giả sysadmin, T.Bảy 18, 2023, 01:49:26 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Thẻ phát hành trong Git là gì và bạn sử dụng chúng như thế nào?


Theo dõi các bản phát hành phần mềm là một nhiệm vụ phức tạp và Git giúp quản lý nó. Sử dụng hệ thống gắn thẻ của Git, bạn có thể tạo các số phát hành được phiên bản trỏ đến các cam kết cụ thể và sử dụng chúng trong tự động hóa CI/CD của bạn để xuất bản các bản phát hành.


1. Phát hành gắn thẻ trong Git

Các thẻ Git rất giống các nhánh Git. Chúng là các nhãn trỏ đến các cam kết cụ thể và có thể được sử dụng để kiểm tra kho lưu trữ tại một thời điểm cụ thể. Tuy nhiên, không giống như các nhánh, chúng không được cập nhật và thay đổi, và sẽ luôn trỏ đến một phiên bản cụ thể.

Thẻ thường được sử dụng để áp dụng số phiên bản cho các bản phát hành cụ thể, thường sử dụng định dạng phiên bản ngữ nghĩa (Major.Minor.Patch). Điều này rất hữu ích để theo dõi các bản phát hành, đặc biệt là khi có vấn đề phát sinh và việc triển khai phải được hoàn nguyên về thẻ trước đó được xác nhận là hoạt động.

Các thẻ cũng được sử dụng để báo hiệu cho các đường ống CI/CD rằng một bản phát hành sẽ được xuất bản. Một số kho lưu trữ có thể muốn xuất bản bản phát hành "mới nhất" trên mỗi lần xác nhận đơn lẻ, đặc biệt là khi chỉ chạy thử nghiệm cho các nhánh phát triển. Các thẻ thường được sử dụng để các đường dẫn CI phát hành chỉ chạy và triển khai khi được yêu cầu cụ thể.


Khi bạn đẩy tới một điều khiển từ xa như GitHub, các thẻ của bạn sẽ hiển thị trong tab Phát hành, tab này cho phép mọi người sao chép hoặc tải xuống repo từ thẻ đó.

Bạn có thể kiểm tra các thẻ cụ thể với

Mã nguồn [Chọn]
git checkout
giống như cách kiểm tra một nhánh hoạt động.

Mã nguồn [Chọn]
git checkout v1.0.0
2. Tạo thẻ

Tạo một thẻ đơn giản là rất dễ dàng. Bạn sẽ cần kiểm tra cam kết hoặc nhánh mà bạn muốn gắn thẻ, sau đó chạy git tag với tên của thẻ.

Mã nguồn [Chọn]
git checkout master
Mã nguồn [Chọn]
git tag v1.0.0
Tuy nhiên, thực tế phổ biến là sử dụng các thẻ chú thích, cho phép đặt mô tả và lưu trữ dữ liệu bổ sung về người đã tạo chúng và khi nào, giống như các cam kết.

Mã nguồn [Chọn]
git tag -a v1.0.0 -m "New Release Version - Summary"

Bạn cũng có thể gắn thẻ các cam kết trước đó mà không cần kiểm tra chúng:

Mã nguồn [Chọn]
git tag -a v1.2 commit_id
Thẻ không được đẩy tới điều khiển từ xa như GitHub bằng lệnh đẩy mặc định của Git. Bạn sẽ cần chạy nó bằng --tags hoặc đẩy tên thẻ theo cách thủ công.

Mã nguồn [Chọn]
git push origin --tags
3. Xóa và chỉnh sửa thẻ

Các thẻ cũng có thể bị xóa, nhưng điều quan trọng cần cân nhắc là việc xóa các thẻ khỏi máy chủ từ xa có thể gây rắc rối cho các cộng tác viên khác trên kho lưu trữ của bạn. Tuy nhiên, vì bạn không thực sự chỉnh sửa lịch sử Git, nên nó hầu như giống như xóa một nhánh cũ, điều này không ảnh hưởng đến các cam kết thực tế.

Bạn có thể xóa các thẻ theo tên bằng -d:

Mã nguồn [Chọn]
git tag -d v1.0.0
Và xóa chúng khỏi điều khiển từ xa bằng:

Mã nguồn [Chọn]
git push origin --delete v1.0.0
Để chỉnh sửa thẻ, bạn có thể sử dụng -fcờ để buộc Git ghi đè lên thẻ hiện có:

Mã nguồn [Chọn]
git tag -f v1.0.0
4. Tạo bản phát hành trên GitHub

GitHub cũng hỗ trợ thẻ, nhưng mở rộng thẻ bằng hệ thống "Bản phát hành" của riêng họ. Các bản phát hành có thể được tạo từ các thẻ, nhưng chúng cũng có thể được tạo từ bất kỳ cam kết cụ thể nào hoặc với HEAD hiện tại của bất kỳ nhánh nào.

Mục đích chính của việc xuất bản các bản phát hành là cung cấp các tệp nhị phân dựng sẵn để mọi người tải xuống, một thứ rất hữu ích trên GitHub nhưng bản thân các thẻ đó không cung cấp. Nếu không, người dùng vẫn cần sao chép một thẻ cụ thể và xây dựng từ nguồn.

Mục đích khác là ghi lại các ghi chú phát hành và Bản phát hành GitHub cũng hỗ trợ đánh dấu. Điều này cung cấp một nơi tuyệt vời để người dùng cuộn qua các bản phát hành và xem các thay đổi của phiên bản lớn theo thời gian.


Tạo một bản phát hành là khá dễ dàng. Từ thanh bên của kho lưu trữ của bạn, nhấp vào "Bản phát hành" và tạo một bản mới:


Từ màn hình này, bạn có thể nhập các ghi chú phát hành bằng cách đánh dấu và kéo và thả các tệp nhị phân cho bản phát hành. GitHub sẽ tự động cung cấp liên kết đến mã nguồn tại thẻ đó cho bạn.


Bạn cũng có thể tự động tạo bản phát hành từ các thẻ bằng Tác vụ GitHub. Điều này giúp bạn không phải tải lên các tệp nhị phân mỗi lần, đây là một phần tự động hóa tuyệt vời cho repo của bạn.