What exactly is a Release in GitHub?

What is it exactly?
How can it explained easily?
For what is it used?
How widespread is the usage?
How is it usually used?


From Official GitHub:

Releases are GitHub's way of packaging and providing software to your users. You can think of it as a replacement to using downloads to provide software.

With Releases , you can provide links to binary files, as well as release notes describing your changes.

At their core, Releases are based on Git tags. Tags mark a specific point in the history of your project, so they're a great way to indicate a Release. Releases are ordered by a tag's date in the following way:

  • If it's an annotated tag, the tag object's date is used.
  • If it's a lightweight tag, then the commit object's date is used.
  • For more information about viewing your existing tags, see Working With Tags.


    I would like to backup this official explanation from people who are already using that to see how it works.

    Definition

    As mentioned in "About Releases"

    Releases are GitHub's way of packaging and providing software to your users. You can think of it as a replacement to using downloads to provide software.

    A release is a container of one or more assets, associated to a git annotated tag (since git push --follow-tags only pushes annotated tags)

    It replaces since July 2013 an old "GitHub Download" system which was beginning to get abused (people stored anything and everything in it), and removed in Dec. 2012.
    By forcing an indirection (tag => release => asset), GitHub made that feature more manageable.


    Usage

    A GitHub release is used:

  • to avoid storing large generated binaries built from project in a source control system like git.
  • by users of a repo to download the "end result", ie the "delivery" already built for them from a git repo content, even if they don't have git.

  • Example

    An example of a project using releases would be git for windows releases.
    In the case of git for Windows, that comes in handy considering that you might want to install git in the first place, and you might not have the right tool-set to compile its sources.


    API consideration

    As the GitHub V3 Release API illustrates, a release is not a tag.
    When you create a release, you would need the name of a tag, but that would create an empty release (associated to that tag)

    From a release, you can upload one or more assets to it.

    The asset data is expected in its raw binary form.

    POST https://<upload_url>/repos/:owner/:repo/releases/:id/assets?name=foo.zip
    

    Note: GitLab also supports "release" since GitLab 8.2 (Nov. 2015).

    链接地址: http://www.djcxy.com/p/27140.html

    上一篇: git:只推送特定标签

    下一篇: GitHub中的发布到底是什么?