Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between tag and release?

People also ask

What does it mean to tag a release?

Tags are a simple aspect of Git, they allow you to identify specific release versions of your code. You can think of a tag as a branch that doesn't change. Once it is created, it loses the ability to change the history of commits.

Does a GitHub release create a tag?

@RandomDSdevel in github, release is just a tag. You can create tag from command line and push it to github remote. tag will appear as a release on githubs webpage.

What is a release in Git?

Releases are first-class objects with changelogs. and binary assets that present a full project history beyond Git artifacts. They're accessible from a repository's homepage: Releases are accompanied by release notes and links to download the software. or source code.

What is tag in GitHub?

About tags in GitHub Desktop GitHub Desktop allows you to create annotated tags. Tags are associated with commits, so you can use a tag to mark an individual point in your repository's history, including a version number for a release. For more information about release tags, see "About releases."


What's the difference between them?

A tag is a pointer to a specific commit. This pointer can be super charged with some additional information (identity of the creator of the tag, a description, a GPG signature, ...).

A tag is a git concept whereas a Release is GitHub higher level concept.

As stated in the official announcement post from the GitHub blog: "Releases are first-class objects with changelogs and binary assets that present a full project history beyond Git artifacts."

A Release is created from an existing tag and exposes release notes and links to download the software or source code from GitHub.

Using GitHub's API, I can't get the releases list, but I can get the tags list.

The current version of the GitHub API doesn't expose a way to manage Releases (create, update, ...). I'm pretty sure that this shouldn't take too long before it's exposed.

However, it's currently possible to list the releases and tags of a specific repository.

For instance, the url below will list the 6 releases (as of today) from ReactiveUI

  • https://api.github.com/repos/reactiveui/ReactiveUI/releases

Whereas this one will list the 54 tags (as of today) from the same repository

  • https://api.github.com/repos/reactiveui/ReactiveUI/tags

Creating a release is currently in a process which involves a manual action (adding the release notes, uploading the packages, ...). This explains why tags are not transparently seen as Releases.


If you want to be notified of the API changes, you can subscribe to the GitHub API Changes blog.

However, if you can't wait, the GitHub API home page states "If you have any problems or requests please contact support.". This can be done through an email to [email protected] or this contact form.

Update:

The GitHub API now allows to manipulate Releases. See the announcement.