In the tutorial about Tags in GitHub, I mentioned that tags are a way to save a point in the repository. It can be a new release, any other specific important event, or anything else. It can be anything. But Git Tags brings the concept of releases along with them in GitHub. It looks like they are related since they are often used interchangeably and are available through a toggle button in GitHub. So, what do Releases have new in the box? We will explore it in this tutorial as:

  • What Are Releases In GitHub?
    • Creating A Release In GitHub.
    • How To Delete A Release In GitHub?

What Are Releases In GitHub?

Releases in GitHub are the one-stop solution from GitHub to provide software packages in binary files along with their release notes for every release of the software. Binary files are a great way to give the user a version of the software in the form of code until a particular point. So, if you require the binary file of an XYZ software version 2.5, which is currently on version 3.1, you can quickly get it through GitHub. In addition to the code, software release notes are also there. Which, in turn, includes details of the addition of new features or other improvements. So if you want to know about the software without actually installing the software, you can read these notes. Additionally, the release feature helps people all around the world to look at how the software has grown with time and use their binary file as well.

Creating A GitHub Release

GitHub gives full control to the developer on releases. You can create releases in GitHub in two ways:

  • First, through the already created tags.
  • Second, by creating a new/fresh release.

Let's understand them one by one.

How to Create Release In GitHub from Tags?

In the Tags In GitHub tutorial, we discussed the option of creating the release from tags in GitHub. To view, open the tags list in GitHub (Refer Tags In GitHub). Moreover, the option to create a release will be available to the right of the tag name.

Create release option is available to the right of the tag name

Press the highlighted button that says "Create release" to go to the next screen. Thereafter, you will notice two changes here.

Click on Create Release to create Github Release

  • First, the tab has shifted from "Tags" to "Releases", denoting we are now working with a release.
  • Second, the name of the tag with the "Existing tag" message mentions that we are creating a release out of an existing tag.

Below this, we will get a few options to fill for our release. We can quickly fill them.

Fill Option to create Github release

One should note that the description field supports the markdown format. It would be familiar to you if you have worked with Jupyter notebooks. But, you can learn about the markdown format also. In brief, it is about styling the resultant output through specific notations that we apply while writing the text. For example, # means H1 or first-level heading. Similarly, ## means a second-level heading and so on. Fill the given fields accordingly.

The checkbox will appear, which will ask you if its a pre-release or not. During this time, I will leave it as it is to denote that publishing of this release has already happened.

Publish Release

Press Publish Release to publish the release from the existing tag.

As soon as you publish the release on GitHub, we can see it under the release tab, which was previously showing just the tag names.

Published Github release can be seen under the release tab

By this, we have created a release from an existing tag. Consequently, in the next section, we will try to create a fresh release.

How to Create A New Release In GitHub?

As mentioned above, a release can publish in GitHub either through an existing tag or by creating a fresh release. To create a fresh release, follow these steps:

  1. First, go to the Releases tab.

  2. Second, select the Draft a new release button available on the right.

draft new release

  1. Third, write a tag name that does not currently exist (v2.0.1 here).

release information github

  1. Finally, similar to the previous section, fill up the details and publish the release by pressing the Press Release button. Additionally, return to the Releases tab to see the release available in the list of releases.

How To Delete A GitHub Release?

Deleting a release in GitHub is a pretty straightforward task. Just follow these steps to delete a release. In this section, to prove a point, we will be going ahead with the release that we created from an existing tag, i.e., v2.0 in the above section.

1. Go to Releases in your GitHub account.

2. The list of releases will appear on the screen. Select the release named Release v2.0 from the list.

select github release to delete

  1. *Once you select the release, it will open up the details of the release. On the right, the Delete button will appear.

delete button

  1. GitHub will ask you to confirm the operation.

confirm release delete

  1. Press Delete this release to delete the release completely.

We are now coming back to where we started this section. Remember, we said we are trying to prove a point here by taking a release from an existing tag?It is an important point to note that if we are deleting a release created from a current tag, it does not mean we delete the underlying tag. In context to the above section, the tag v2.0 will not delete if we delete the release we created from it.

It brings us to the end of the concept of "tags and releases". For further information, you can go through tags in Git, tags in GitHub tutorials. Keep practicing and keep releasing!!

Common Questions On GitHub Releases

Are releases necessary to generate?

Releases are an excellent way to let know your users about the latest release of the software. Releases also help in avoiding storing big binaries. They are not necessary but is a good practice.

Are GitHub releases based on Git Tags?

Yes, the basis of GitHub releases is the Git tags. In other words, tags are necessary to define to publish a release.

Github Tags
Github Tags
Previous Article
Git Terminologies
Git Terminologies
Next Article
Harish Rajora
I am a computer science engineer. I love to keep growing as the technological world grows. I feel there is no powerful tool than a computer to change the world in any way. Apart from my field of study, I like reading books a lot and developing new stuff.
Reviewers
Lakshay Sharma's Photo
Lakshay Sharma

Similar Articles

Feedback