Git Tag
Cập nhật lần cuối
git tag đánh dấu một commit cụ thể bằng một cái tên, thường là phiên bản phát hành như v1.0.0. Tag có hai loại: tag nhẹ (lightweight), chỉ là một cái tên trỏ tới commit, và tag chú thích (annotated), một đối tượng đầy đủ có thông điệp, tác giả và ngày tạo. Tag không được push tự động, nên bạn phải push chúng riêng.
Bạn có thể thử các lệnh này trong terminal playground: một shell thật ngay trên trình duyệt, không cần cài đặt gì.
Cú pháp
| Lệnh | Tác dụng |
|---|---|
git tag v1.0.0 | Tạo tag nhẹ trên HEAD |
git tag -a v1.0.0 -m "Release 1.0" | Tạo tag chú thích kèm thông điệp |
git tag -a v1.0.0 <hash> | Gắn tag cho một commit cũ cụ thể |
git tag | Liệt kê mọi tag |
git push origin v1.0.0 | Push một tag lên remote |
git push --tags | Push mọi tag |
git tag -d v1.0.0 | Xóa một tag cục bộ |
Tag nhẹ và tag chú thích
| Khía cạnh | Tag nhẹ | Tag chú thích |
|---|---|---|
| Lưu thông điệp | Không | Có |
| Ghi tác giả và ngày | Không | Có |
| Phù hợp cho bản phát hành | Không | Có |
Câu hỏi thường gặp về git tag
Làm sao tạo tag trong Git?
git tag <name> (một tag nhẹ trên commit hiện tại). Với bản phát hành, hãy tạo tag chú thích: git tag -a v1.0.0 -m "Release 1.0", tag này lưu thông điệp, tác giả và ngày. Thêm hash của commit vào cuối để gắn tag cho một commit cũ hơn.Tag nhẹ và tag chú thích khác nhau thế nào?
Tag nhẹ chỉ là một cái tên trỏ tới commit, không có dữ liệu gì thêm. Tag chú thích là một đối tượng Git đầy đủ với thông điệp, tên người gắn tag và ngày, và có thể được xác minh. Dùng tag chú thích cho bản phát hành; tag nhẹ phù hợp để đánh dấu tạm thời hoặc dùng riêng.
Làm sao push tag lên remote?
git push bình thường. Push một tag cụ thể bằng git push origin <tagname>, hoặc push mọi tag cùng lúc bằng git push --tags. Nhiều người hay vấp chỗ này: tag bạn tạo chỉ nằm ở máy bạn cho tới khi được push.Làm sao xóa một tag?
git tag -d <tagname>. Để xóa luôn trên remote, chạy git push origin --delete <tagname> (hoặc cú pháp cũ git push origin :refs/tags/<tagname>). Xóa tag cục bộ và xóa tag trên remote là hai bước riêng biệt.Có thể luyện tập lệnh này online không?
git tag trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn từng bước cách gắn tag và phát hành.