勉強履歴(と雑記)

プログラミング初心者のメモ書きです

GithubのRelease機能

現RUNTEQ生の方たちが色々なポートフォリオをリリースしており、自分が作ったアプリよりも凄いものを作っているなぁと思う毎日です。
そんな中で各ポートフォリオGithubリポジトリを見ていると、リリースから暫く経過したアプリであってもRelease機能を使用していない人が多く見受けられました。
他にもまとめている記事はたくさんありますが、ブログの更新ついでに簡単にまとめておきます。

バージョンについて

GithubのRelease機能は、アプリケーションのバージョン管理を行うために使用されます。
ソフトウェアのバージョン管理で良く使われるのはセマンティックバージョニングで、例えば現在Rubyの最新バージョンは「v3.1.2」ですが、この表記がセマンティックバージョニングです。

それぞれの番号は前から順にメジャー・マイナー・パッチバージョンと呼ばれ、アプリに施した変更に応じてそれぞれの数字を上げていきます。

メジャー: 互換性のない、APIを破る変更。
マイナー: APIのプロバイダーのみに影響する変更、または新しい下位互換性のある機能の追加。
パッチ: 下位互換性のあるバグ修正。

GithubのRelease機能を使ってバージョン管理を行うと以下のように表示されます。


手順

では、本題のRelease機能の使い方を以下に示していきます。
完結にまとめると、「Githubにあるタグ機能を使い、タグにバージョンアップの詳細情報をつけることで管理を行う」ということになります。

①最初にターミナルで以下のコマンドを入力してタグを作り、リポジトリの方にプッシュしておきます。「v~~」「version ○○」はそれぞれのアプリケーションのバージョンに合わせてください。

git tag -a v1.3.4 -m 'version 1.3.4'
git push origin v1.3.4


リポジトリ画面のReleases部分をクリックすると、 バージョンの詳細内容がまとめられたページに飛びます。また、Tagsをクリックすると先程コマンドで追加したタグが確認できます。

③Draft a new releaseをクリックすると、リリースに関する情報を記入するフォーム画面になります。先程追加したタグを選択し、バージョン名とリリース内容を記載します。

タグを選択する際、まだ追加していないタグを入力すると下の画面のようにCreate new tagと出てタグを作成できるので、Githubの画面だけで完結させることもできます。

④入力が完了したらPublish Releaseをクリックすると、①のバージョン一覧ページに移動し、新しいバージョンが追加されています。また、リポジトリ画面のReleasesも変化しています。

⑤Publish Releaseをクリックする前に、latest releaseではなくpre-releaseの方にチェックを入れていると、表示が変化しています。

⑥一度出したReleaseを削除したい場合は、以下のコマンドでタグを削除すればReleaseも一緒に消えます。

git push --delete origin v1.3.5


以上となります。
Release機能は実用的な面以外にも、リポジトリの見栄えが良くなる(プロっぽくなる?)ので人によっては運用・管理のモチベーションが上がるかもしれません。

参考

セマンティック バージョニング 2.0.0 | Semantic Versioning
https://docs.github.com/ja/repositories/releasing-projects-on-github/about-releases
git tag と GitHub の Release 機能でプロっぽさを出してみよう - Qiita