Tạo thẻ trong kho GitHub


910

Tôi có một kho lưu trữ trong GitHub và tôi cần gắn thẻ nó.
Tôi đã gắn thẻ trong trình bao, nhưng trên GitHub , nó không hiển thị.

Tôi có phải làm gì khác không?

Lệnh tôi đã sử dụng trong shell là:

git tag 2.0

Và bây giờ khi tôi gõ git tagnó hiển thị:

2.0

Vì vậy, có vẻ như các thẻ có mặt, đúng không?

Kho lưu trữ là: https://github.com/keevitaja/myseo-pyrocms .

Làm cách nào để làm cho thẻ này hiển thị trên GitHub? Thẻ của tôi ở đâu?

Câu trả lời:


1497

Bạn có thể tạo thẻ cho GitHub bằng cách sử dụng:

  • dòng lệnh Git, hoặc
  • Giao diện web của GitHub.

Tạo thẻ từ dòng lệnh

Để tạo thẻ trên chi nhánh hiện tại của bạn, hãy chạy này:

git tag <tagname>

Nếu bạn muốn bao gồm một mô tả với thẻ của bạn, hãy thêm -ađể tạo một thẻ chú thích :

git tag <tagname> -a

Điều này sẽ tạo ra một localthẻ với trạng thái hiện tại của chi nhánh bạn đang ở. Khi đẩy vào repo từ xa của bạn, các thẻ KHÔNG được bao gồm theo mặc định. Bạn sẽ cần phải nói rõ ràng rằng bạn muốn đẩy các thẻ của mình đến repo từ xa:

git push origin --tags

Từ tài liệu chính thức của Linux Kernel Git chogit push :

--tags

Tất cả các ref dưới refs / tags đều được đẩy, ngoài các refspec được liệt kê rõ ràng trên dòng lệnh.

Hoặc nếu bạn chỉ muốn đẩy một thẻ duy nhất:

git push origin <tag>

Xem thêm câu trả lời của tôi về Làm thế nào để bạn đẩy thẻ vào kho lưu trữ từ xa bằng Git? để biết thêm chi tiết về cú pháp trên.

Tạo thẻ thông qua giao diện web của GitHub

Bạn có thể tìm thấy hướng dẫn của GitHub cho việc này tại trang trợ giúp Tạo Phát hành của họ . Đây là một bản tóm tắt:

  1. Nhấp vào liên kết phát hành trên trang kho lưu trữ của chúng tôi,

    Ảnh chụp màn hình 1

  2. Nhấp vào Tạo bản phát hành mới hoặc Dự thảo bản phát hành mới ,

    Ảnh chụp màn hình 2

  3. Điền vào các trường mẫu, sau đó bấm Xuất bản phát hành ở dưới cùng,

    Ảnh chụp màn hình 3 Ảnh chụp màn hình 4

  4. Sau khi bạn tạo thẻ của mình trên GitHub, bạn cũng có thể muốn tìm nạp nó vào kho lưu trữ cục bộ của mình:

    git fetch
    

Bây giờ, lần tới, bạn có thể muốn tạo thêm một thẻ trong cùng một bản phát hành từ trang web. Để làm theo các bước sau:

Chuyển đến tab phát hành

  1. Bấm vào nút chỉnh sửa để phát hành

  2. Cung cấp tên của thẻ mới ABC_DEF_V_5_3_T_2 và nhấn tab

  3. Sau khi nhấn tab, UI sẽ hiển thị thông báo này: Tuyệt vời! Thẻ này sẽ được tạo từ mục tiêu khi bạn xuất bản bản phát hành này. Ngoài ra UI sẽ cung cấp tùy chọn để chọn chi nhánh / cam kết

  4. Chọn chi nhánh hoặc cam kết

  5. Chọn hộp kiểm "Đây là bản phát hành trước" cho thẻ qa và bỏ chọn nếu thẻ được tạo cho thẻ Prod.

  6. Sau đó bấm vào "Cập nhật phát hành"

  7. Điều này sẽ tạo một Thẻ mới trong Bản phát hành hiện có.


8
@RandomDSdevel trong github, phát hành chỉ là một thẻ. Bạn có thể tạo thẻ từ dòng lệnh và đẩy nó vào github từ xa. Thẻ sẽ xuất hiện dưới dạng bản phát hành trên trang web của github.
Iuri G.

6
@IuriG.: Vâng, vâng, nhưng bạn không thể tạo các thẻ không được GitHub tự động chọn khi phát hành ra sao? (Quay lại khi tôi ban đầu tạo bình luận mà bạn đã trả lời và phản hồi của bạn, đây là phản hồi, các thẻ ít nhất được sử dụng để tự động chuyển thành bản phát hành, mặc dù tôi không biết liệu đây có phải là trường hợp hay không & thinsp; theo quy trình công việc giải thích trong gợi ý câu trả lời của bạn về điều này không còn đúng nữa. Tôi đã gửi yêu cầu hỗ trợ cho GitHub về việc này một thời gian trước, nhưng sau đó họ có một chút tồn đọng hỗ trợ, vì vậy yêu cầu của tôi đã bị đóng.)
RandomDSdevel

Fwiw, đối với đường dẫn giao diện web Github, tôi không thể thấy nút Phát hành mới hoặc Tạo bản nháp sau khi nhấp vào liên kết phát hành trong Bước 1.
Snowcrash

2
thông qua giao diện Github, bạn chỉ có thể tạo các thẻ Trọng lượng nhẹ.
Anatolii Stepaniuk

2
Thật không may, giao diện github không cho phép bạn gắn thẻ một cam kết trừ khi trong 24 giờ qua hoặc 10 lần cuối (? Hoặc như vậy?) Cam kết.
tsalaroth

86

Tạo thẻ

Git sử dụng hai loại thẻ chính: nhẹchú thích .

Thẻ chú thích :

Để tạo thẻ chú thích trong Git, bạn chỉ cần chạy các lệnh đơn giản sau trên thiết bị đầu cuối của mình.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

-M biểu thị thông báo cho thẻ cụ thể đó. Chúng tôi có thể viết tóm tắt các tính năng sẽ được gắn thẻ ở đây.

Thẻ nhẹ :

Cách khác để gắn thẻ cam kết là thẻ nhẹ. Chúng ta có thể làm theo cách sau:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

Thẻ đẩy

Để đẩy thẻ cụ thể, bạn có thể sử dụng lệnh dưới đây:

git push origin v1.0.3

Hoặc nếu bạn muốn đẩy tất cả các thẻ thì hãy sử dụng lệnh dưới đây:

git push --tags

Liệt kê tất cả các thẻ :

Để liệt kê tất cả các thẻ, sử dụng lệnh sau.

git tag

Bạn có thêm thẻ TRƯỚC hoặc sau git commit?
garfbradaz

Tôi đã thêm thẻ sau khi git commit.
Lawakush Kurmi

65

Bạn chỉ cần đẩy thẻ sau khi bạn chạy git tag 2.0lệnh.

Vì vậy, chỉ cần làm git push --tagsngay bây giờ.


40
Tôi muốn đề nghị sử dụng git push v2.0thay vì --tags, có thể có các thẻ khác không nên đẩy.
tschoppi

1
Đó chỉ là vấn đề nếu các thẻ cục bộ của bạn khác với các thẻ từ xa của bạn. Chúng rất dễ đồng bộ nếu điều đó trở thành một vấn đề.
kjdion84

1
@ kjdion84 Không, đó cũng là một vấn đề nếu có các thẻ lỗi thời: Tất cả các thẻ luôn được tìm nạp và khi ai đó sử dụng --tags, thật khó để thoát khỏi chúng.
maaartinus

2
hoặcgit push origin v2.0
nguyện

Tôi đã làm sai khi sử dụng thẻ!
dùng3

9

CẨN THẬN: Trong lệnh trong câu trả lời của Lawakush Kurmi ( git tag -a v1.0) -acờ được sử dụng. Cờ này báo cho Git tạo một cờ chú thích. Nếu bạn không cung cấp cờ ( i.e. git tag v1.0) thì nó sẽ tạo ra cái được gọi là thẻ nhẹ.


Các thẻ chú thích được khuyến nghị, vì chúng bao gồm rất nhiều thông tin bổ sung như:

  • người làm thẻ
  • ngày thẻ được thực hiện
  • một thông điệp cho thẻ

Vì điều này, bạn nên luôn luôn sử dụng các thẻ chú thích.


3

Tất cả phụ thuộc vào loại thẻ bạn muốn tạo:

  • Nếu bạn muốn tạo các thẻ Chú thích, để hiển thị siêu dữ liệu bổ sung, bạn có thể thực hiện theo cách sau : git tag -a v1.0.0.
  • Mặt khác, các thẻ Nhẹ được sử dụng để "đánh dấu" các cam kết của bạn để sử dụng riêng : git tag v1.0.0.

Có một vài chức năng thẻ khác như:

  • Thẻ liệt kê - git tag -l -n3. Lệnh liệt kê tất cả các thẻ hiện có với tối đa 3 dòng thông điệp thẻ của chúng. Theo mặc định -n chỉ hiển thị dòng đầu tiên.
  • Chi tiết thẻ - git show <tag_identifier>. Nó cho thấy tất cả những gì bạn cần biết về một thẻ cụ thể.
  • Sắp xếp thẻ - git tag --sort=<type>
  • Thẻ xuất bản - git push origin v1.0. Bạn có thể git đẩy thẻ riêng lẻ hoặc bạn có thể chạy git đẩy --tags sẽ đẩy tất cả các thẻ cùng một lúc.

Hãy chắc chắn kiểm tra bài viết liên quan đến thẻ này để biết thêm thông tin liên quan.


3

Sử dụng Sourcetree

Dưới đây là các bước đơn giản để tạo Thẻ GitHub , khi bạn phát hành bản dựng từ bản gốc.

  1. Mở tab source_tree

    bước 1

  2. Nhấp chuột phải vào phần Tag từ Tag xuất hiện trên phần điều hướng bên trái

    bước 2

  3. Nhấp vào Thẻ mới ()

  4. Một hộp thoại xuất hiện để Thêm Thẻ và Xóa Thẻ
  5. Nhấp vào Thêm thẻ từ tên cho đến thẻ (tên phiên bản ưa thích của mã)

    bước 3

  6. Nếu bạn muốn đẩy TAG trên điều khiển từ xa, trong khi tạo TAG ref: bước 5, hãy đưa hộp kiểm đẩy TAG để kiểm tra nguồn gốc và thẻ đẩy xuất hiện trên kho lưu trữ từ xa

  7. Trong trường hợp trong khi tạo TAG nếu bạn quên kiểm tra hộp Push to origin , bạn có thể thực hiện sau bằng cách nhấp chuột phải vào TAG đã tạo, nhấp vào Đẩy để xuất xứ. nhập mô tả hình ảnh ở đây


2
Câu trả lời này giải thích cách tạo thẻ cục bộ bằng Sourcetree, nhưng câu hỏi là tất cả về cách đẩy thẻ vào kho lưu trữ từ xa (GitHub trong trường hợp này). Bạn nói để làm điều này trong bước 6, nhưng bạn đã bỏ qua các hướng dẫn cho nó.
Rory O'Kane

@ RoryO'Kane xin vui lòng kiểm tra xem nó bây giờ tôi đã cập nhật câu trả lời của tôi, Cảm ơn bạn trỏ nó ra
Suresh Maidaragi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.