git tagの使い方を現役エンジニアがまとめてみました

git tagの使い方を現役エンジニアがまとめてみました

どうもこんにちわkoheiです。

今日はとても寒いので家に引きこもってます。

花粉の時期は来ないでほしいですが、春は来てほしいです。

それはさておき、今回はgit tagの使い方についてまとめたいと思います。

そもそもGitについて「初めて知った」、もしくは「基礎から知りたい」と言う人は以下の記事で説明しているのでまず読んでみてください。

Gitについての記事!

現役エンジニアがよく使うGitコマンド

Gitの運用方法の有名な3パターンについての考察

 

gitバージョン

今回説明するgitのバージョンは以下になります。

 

PS C:\work> git --version
git version 2.17.0.windows.1

git tagについて

Gitにはタグ機能が存在します。

タグ付けというのは重要なポイントに対して印を付けることです。

そして、一般的にはリリースポイントとして使うことが多いです。

実際に私自身が参加したプロジェクトでも同じ使い方をしました。

ただ、先述した通り重要なポイントに対して印を付けることなので、他の用途で使うこともアリだとは思います。

Gitの運用がmasterブランチ一つとかの場合や個人開発の場合は、目印として使うのもアリだと思います。

 

・tagは特定のコミットに対して付与される。

・リリースポイントとして使うことが多い。

 

git tag関連コマンドを解説【12パターン】

具体的にgit tagの使い方について以下にまとめました。

 

  1. タグ一覧表示
  2. リモートリポジトリのタグ一覧表示
  3. パターン検索
  4. タグ詳細
  5. タグ作成
  6. あとからタグ付け
  7. 簡易タグ作成
  8. タグ削除
  9. リモートリポジトリのタグ削除
  10. タグ切換え
  11. タグをリモートリポジトリにプッシュ
  12. タグのチェックアウト

 

順に説明します。

【使い方①】タグ一覧表示

git tag

例:ローカルリポジトリのタグ一覧を表示

PS C:\work> git tag
tag_20191121 ←★登録されているタグ
tag_20191204 ←★登録されているタグ

【使い方②】リモートリポジトリのタグ一覧表示

git ls-remote –tag

例:リモートリポジトリのタグ一覧を表示

PS C:\work> git ls-remote --tag
From (リモートリポジトリのURL)
(コミット番号) refs/tags/remote_tag ←★リモートリポジトリのタグ

【使い方③】パターン検索

git tag -l “検索文字列”

例:「tag_201911」で検索

PS C:\work> git tag -l "tag_201911*"
tag_20191121
←★タグ「tag_20191204」は表示されない

【使い方④】タグ詳細

タグのコメントと紐づくコミットの情報を表示

git show タグ名

例:タグ「tag_20191121」の詳細を表示

PS C:\work> git show tag_20191121
tag tag_20191121 ←★タグの内容
Tagger: USER01 <sample_mail@a.com>
Date: Thu Nov 21 17:52:37 2019 +0900

タグメッセージ

commit (コミットID) (tag: tag_20191121) ←★タグに紐づくコミットの内容
Author: USER01 <sample_mail@a.com>
Date: Thu Nov 21 17:52:07 2019 +0900

コミットメッセージ

【使い方⑤】タグ作成

git tag -a タグ名 -m “タグメッセージ”

例:最新のコミットに対してタグ「test.v1.0」をメッセージ「tag test」で作成

PS C:\work> git tag -a test.v1.0 -m "tag test"
PS C:\work> git tag
tag_20191121
tag_20191204
test.v1.0 ←★追加されている

【使い方⑥】あとからタグ付け

git tag -a タグ名 -m “メッセージ” コミットID※1
※1:コミットのSHA-1のハッシュ値もしくはコミットのSHA-1のハッシュ値の一部

例:コミットID「cccc」にタグ「test.v0.1」をメッセージ「test tag before」で作成

PS C:\work> git log --pretty=oneline ←★コミット一覧表示
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa コミットメッセージ01
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb コミットメッセージ02
ccccccccccccccccccccccccccccccccccccccccc コミットメッセージ03
PS C:\work> git tag -a test.v0.1 -m "test tag before" cccc
PS C:\work> git tag
tag_20191121
tag_20191204
test.v0.1 ←★追加されている
test.v1.0

【使い方⑦】簡易タグ作成

git tag タグ名

例:最新のコミットにタグ「test.v1.1」を作成

PS C:\work> git tag test.v1.1
PS C:\work> git tag
tag_20191121
tag_20191204
test.v0.1
test.v1.0
test.v1.1 ←★追加されている

【使い方⑧】タグ削除

git tag -d タグ名

例:タグ「test.v0.1」を削除

PS C:\work> git tag -d test.v0.1
Deleted tag 'test.v0.1' (was eeeeeee)
PS C:\work> git tag
tag_20191121
tag_20191204
test.v1.0
test.v1.1
←★タグが削除されている

【使い方⑨】リモートリポジトリのタグ削除

git push origin :タグ名
※空のタグをプッシュする

【使い方⑩】タグ切換え

git checkout タグ名

※タグ付けされているブランチにいる必要あり

例:タグ「sample_branch」にチェックアウトする

PS C:\work> git checkout sample_branch
Note: checking out 'sample_branch'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b <new-branch-name>

HEAD is now at aaaaaa commit_message to sample_branch

【使い方⑪】タグをリモートリポジトリにプッシュ

git push origin タグ名

【使い方⑫】タグのチェックアウト

git checkout -b ブランチ名 タグ名

 

以上、現役エンジニアの私が実際に使うgit tagについてまとめてみました。

参考になれば幸いです。

 

人気記事:【最新】Git初心者におすすめの本5選【サービス利用で効率よく開発】