Sự khác biệt giữa thẻ và phát hành là gì?


174

Sử dụng API của GitHub, tôi không thể lấy danh sách phát hành, nhưng tôi có thể lấy danh sách thẻ.

Sự khác biệt giữa chúng là gì?

Câu trả lời:


198

Sự khác biệt giữa chúng là gì?

A taglà một con trỏ đến một cam kết cụ thể. Con trỏ này có thể được tính siêu với một số thông tin bổ sung (danh tính của người tạo thẻ, mô tả, chữ ký GPG, ...).

A taglà một khái niệm git trong khi a Releaselà khái niệm cấp cao hơn của GitHub.

Như đã nêu trong bài đăng thông báo chính thức từ blog GitHub: "Các bản phát hành là các đối tượng hạng nhất với các thay đổi và tài sản nhị phân thể hiện toàn bộ lịch sử dự án ngoài các tạo tác của Git."

A Releaseđược tạo từ một tagbản lưu và liên kết phát hành để tải xuống phần mềm hoặc mã nguồn từ GitHub.

Sử dụng API của GitHub, tôi không thể lấy danh sách phát hành, nhưng tôi có thể lấy danh sách thẻ.

Phiên bản hiện tại của API GitHub không tiết lộ cách quản lý Release(tạo, cập nhật, ...). Tôi khá chắc chắn rằng điều này sẽ không mất quá nhiều thời gian trước khi nó được phơi bày.

Tuy nhiên, hiện tại có thể liệt kê các bản phát hành và thẻ của một kho lưu trữ cụ thể.

Chẳng hạn, url bên dưới sẽ liệt kê 6 bản phát hành (tính đến hôm nay) từ ReactiveUI

Trong khi đó, cái này sẽ liệt kê 54 thẻ (tính đến ngày hôm nay) từ cùng một kho lưu trữ

Tạo một bản phát hành hiện đang trong một quy trình bao gồm một hành động thủ công (thêm ghi chú phát hành, tải lên các gói, ...). Điều này giải thích tại sao tags không được xem là Releases.


Nếu bạn muốn được thông báo về các thay đổi API, bạn có thể đăng ký vào blog Thay đổi API GitHub .

Tuy nhiên, nếu bạn không thể chờ đợi, trang chủ API GitHub nêu rõ "Nếu bạn có bất kỳ vấn đề hoặc yêu cầu nào, vui lòng liên hệ với bộ phận hỗ trợ. " Điều này có thể được thực hiện thông qua một email đến support@github.com hoặc mẫu liên hệ này .

Cập nhật:

API GitHub hiện cho phép thao tác Releases. Xem thông báo .


Cảm ơn rất nhiều cho câu trả lời chi tiết của bạn. Re: / phát hành - Tôi nhận được 0 bản phát hành cho rails , điều này hơi lạ phải không?
naor

1
Tôi không nghĩ nó lạ. Điều đó chỉ có nghĩa là nhóm Rails đã không sử dụng Giao diện người dùng GitHub để tạo một Releasetừ hiện có tag. Releases là một bổ sung gần đây. Có lẽ nhóm Rails thích gắn bó với quy trình hiện tại của họ và đăng lên blog của họ bất cứ khi nào một phiên bản mới được phát hành (xem thông báo 3.2,14 ).
nulltoken

2
+1 để phân biệt rõ ràng giữa thẻ và bản phát hành và mục đích của nó là gì: "A taglà một khái niệm git trong khi đó Releaselà khái niệm cấp cao hơn của GitHub ... A Releaseđược tạo từ một tagghi chú và liên kết phát hành để tải xuống phần mềm hoặc mã nguồn từ GitHub. "
Paul Masri-Stone

Cũng có thể đáng để biết rằng giờ đây đã có một công cụ dòng lệnh gọi là hub tăng cường khả năng của git. Trong số các siêu năng lực này, có khả năng đẩy phát hành trong thiết bị đầu cuối.
Paul Razvan Berg
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.