Gitのタグとリリースの使い方|個人開発で試した記録
Gitのタグとリリースの使い方がよくわからず、「バージョン管理はコミットだけで十分」と思っていませんか? 私もそうでした。
でも、ツールを直し続けるうちに「先月動いていたのはどの時点?」と迷うことが増えました。コミットメッセージが「修正」ばかりで見分けがつかないのです。
そこで今回、Claude Codeに教わりながら練習用リポジトリでタグを試しました。実際のコマンドと結果、GitHubの「リリース」との関係、まだ試せていないことをまとめます。
※確認環境:macOS、Git 2.33.0、GitHub CLI(gh)2.86.0。確認日は2026年11月9日です。Gitのバージョンや設定によって表示が異なる場合があります。
Gitのタグとリリースの使い方を一言で言うと
一言で言えば、タグは「このコミットがv1.0です」という名札で、リリースはそのタグにお知らせ文やファイルを添えて公開するGitHubの機能です。
- **タグ**:Git本体の機能。手元のパソコンだけでも使える
- **リリース**:GitHubの機能。タグを土台に、変更内容の説明や配布ファイルをまとめて見せる
順番は「タグを付ける → 必要ならリリースにする」です。個人開発なら、まずタグだけでも十分役立つと感じました。
タグには2種類ある(軽量タグと注釈付きタグ)
Claude Codeに最初に教わったのが、タグには2種類あるということでした。
| 種類 | コマンド例 | 中身 |
|---|---|---|
| 軽量タグ | `git tag v0.1.0` | コミットに名前を付けるだけ |
| 注釈付きタグ | `git tag -a v1.0.0 -m “最初の公開版”` | 作成者・日時・メッセージも記録 |
Gitの公式ドキュメントでは、注釈付きタグはリリース向け、軽量タグは個人的・一時的な目印向けと説明されています。迷ったら、残しておきたい節目には注釈付きタグと覚えておけばよさそうです。
練習用リポジトリで実際に試した手順
ここからは、壊れても困らない練習用リポジトリで実際に試した内容です。練習用リポジトリは、ターミナルで次のように作れます(作業用フォルダで実行してください)。
mkdir tag-practice
cd tag-practice
git init
echo "v1" > app.txt
git add app.txt
git commit -m "初版"
初めてコミットする場合は、`git config` での名前・メールアドレス設定を求められることがあります。
1. タグを付ける
コミットを3つ作り、1つ目に軽量タグ、2つ目に注釈付きタグを付けました(どちらも、そのコミットを作った直後に実行しています)。
git tag v0.1.0
git tag -a v1.0.0 -m "最初の公開版"
タグはデフォルトで「今いるコミット(HEAD)」に付きます。過去のコミットに付けたい場合は、`git tag -a v0.9.0 -m “説明” <コミットID>` のように末尾にコミットIDを指定します。
2. タグを確認する
git tag -n
結果はこうなりました。
v0.1.0 初版
v1.0.0 最初の公開版
意外だったのは、軽量タグにもメッセージらしきものが出たことです。これは付けた先のコミットのメッセージでした。`git show v1.0.0` で見ると、注釈付きタグだけ「Tagger(作成者)」と日時、タグ自体のメッセージが表示されます。
3. タグを使って差分を見る
ここで「タグは便利だ」と実感しました。
git log --oneline v1.0.0..HEAD
git diff v1.0.0 HEAD --stat
1行目で「v1.0.0のあとのコミット」、2行目で「変わったファイル」が一覧できます。コミットIDを調べる手間がなくなりました。`git describe` では `v1.0.0-1-gab86a03`(v1.0.0から1コミット先)と表示されました。
4. 昔の状態を見に行く
git switch --detach v1.0.0
`git switch` はGit 2.23以降のコマンドで、古い環境では `git checkout v1.0.0` を使います。どちらも「detached HEAD(切り離されたHEAD)」という状態になり、ここでコミットしてもブランチに残りにくい点に注意です。見終わったら `git switch main`(または `git checkout main`)で戻ります。ブランチ名が `master` なら読み替えてください。
5. 同じ名前は付けられない
もう一度 `git tag v1.0.0` を打つと `fatal: tag ‘v1.0.0’ already exists` で止められました。上書きの `-f` もありますが、共有済みタグの付け直しは他の人の手元とずれる原因になるので使わないことにしました。
タグはpushしないとGitHubに載らない
これは知らずにハマりそうなポイントです。タグは、初期設定のままだと通常の `git push` だけでは送られません(`push.followTags` などの設定を変えている場合は除きます)。
git push origin v1.0.0
このようにタグ名を指定して送るのが基本です。`git push origin –tags` でまとめて送る方法もありますが、練習用の軽量タグまで送ってしまう可能性があるので、私は1つずつ送ることにしました。
なお、タグの削除は手元(`git tag -d v1.0.0`)とGitHub側(`git push –delete origin v1.0.0`)で別操作です。共有済みタグの削除は他の人を混乱させる場合があるため、慎重に行ってください。
GitHubのリリースは「タグ+お知らせ」
公式ドキュメント(調査ベース)によると、リポジトリページ右側の「Releases」→「Draft a new release」でタグを選び(または新規作成し)、説明文を書いて公開します。GitHub CLIなら `gh release create v1.0.0 –title “v1.0.0” –notes “最初の公開版”` のように作れます。
正直に書くと、自分のリポジトリでのリリース作成はまだ試せていません。今回は読み取りだけで、`gh release list –repo cli/cli –limit 3` でGitHub CLI公式のリリース一覧を見ました。2026年11月9日時点で v2.103.3 に「Latest」が付き、各リリースにタグが対応していました。次に小さなツールを公開するとき、リリース作成まで試す予定です。
Claude Codeに貼れるプロンプト
自分のプロジェクトでタグを使い始めるときは、いきなりpushせず、まず状況を整理してもらうのがおすすめです。
このリポジトリで、Gitのタグを使ったバージョン管理を始めたいです。
目的:節目のコミットに注釈付きタグ(例:v1.0.0)を付けて、後から差分を見返せるようにしたい
対象:今いるリポジトリのみ(他のフォルダには触れないでください)
お願いしたいこと:
1. 現在のブランチ名、既存のタグ一覧、直近10件のコミットを表示してください
2. どのコミットにどんなタグ名を付けるとよいか、案を出してください
3. タグの作成やpush(GitHubへの送信)は、まだ実行しないでください
タグの作成・削除・付け直し・pushなどを実行する前に、対象のタグ名とコミット、影響範囲を表示してください。私が確認してから実行してください。
不明点は推測せず、確認事項として列挙してください。
ポイントは「表示 → 提案 → 確認してから実行」の順です。タグ作成は手元だけの操作ですが、pushするとGitHubに反映されるので、ひと呼吸おいています。
まとめ
- タグは「このコミットがv1.0」という名札。リリースはタグにお知らせを添えるGitHubの機能
- 残したい節目には注釈付きタグ(`git tag -a`)を使うと、作成者・日時・メッセージが残る
- `git log v1.0.0..HEAD` や `git diff v1.0.0 HEAD` で「前のバージョンから何を変えたか」がすぐわかる
- タグは `git push origin v1.0.0` のようにタグ名を指定して別途送る
- 共有済みのタグの付け直し・削除は、他の人とずれる原因になるので慎重に
「どこまで戻れば動くのか」がわからなくなる不安は、タグを1つ付けるだけでかなり軽くなりました。まずは練習用リポジトリで1つ付けてみてください。
関連記事
- [コミットって何?非エンジニアが理解した瞬間](https://maahsachi.com/2026/05/23/git-commit-explained/)
- [Gitの歴史を見る方法を覚えたら安心した](https://maahsachi.com/2026/09/21/git-log-history/)
- [Gitで「なかったことに」する方法](https://maahsachi.com/2026/10/25/git-reset-howto/)
- [GitHubActionsを使って自動化した話](https://maahsachi.com/2026/09/22/github-actions-beginner/)
このトピックをアプリで試す
本物のターミナルでGitの操作を練習できる学習アプリを準備しています(app.maahsachi.com で公開準備中)。コミットや差分の確認など、この記事の前提になる操作を手を動かしながら確かめられるようにする予定です。
参考
- [Git公式ドキュメント git-tag](https://git-scm.com/docs/git-tag)
- [GitHub Docs:リポジトリのリリースを管理する](https://docs.github.com/ja/repositories/releasing-projects-on-github/managing-releases-in-a-repository)
- [GitLab:git push tagの基本](https://about.gitlab.com/ja-jp/blog/mastering-the-basics-of-git-push-tag/)