git tag
git tag
コマンドを使うことで、特定のリビジョンに対してタグを付加することができます。
リビジョンに付加したタグはリビジョンのエイリアスとして使うことができます。
Usage
git tag [タグ名]
だけで、HEADが指すリビジョンにタグを付けることができます。
# branchの状態 $ git branch * branch1 branch2 master # 現在のリビジョンにタグをつける $ git tag testtag # タグ一覧 $ git tag test1.0 testtag
タグを付けたリビジョンに対して、git diff
やgit checkout
等を使うことができます。
# ex1. タグをつけたリビジョンとの差分 $ git diff master testtag diff --git a/hoge1.txt b/hoge1.txt index 6339dc3..0ef7e93 100644 --- a/hoge1.txt +++ b/hoge1.txt @@ -1,10 +1 @@ -fuga - -hoge -hoge piyo -foo -hogehoge -fugafuga - -fugafuga diff --git a/hoge2.txt b/hoge2.txt deleted file mode 100644 index 1a57997..0000000 --- a/hoge2.txt +++ /dev/null @@ -1,3 +0,0 @@ -hoge -fuga -piyo # ex2. タグをつけたリビジョンへのcheckout $ git checkout testtag Note: checking out 'testtag'. 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 df7c41a... modify hoge1.txt
タグを利用した削除後ブランチの追跡
タグ付けられたリビジョンを持つブランチを削除しても、タグ自体は削除されません。
そのためgit checkout [タグ名]
に削除されたブランチ上のリビジョンへのタグを指定することで、
既に削除されてしまったブランチの履歴を追跡することができます。
# 'testtag'タグを作成したブランチを削除 $ git branch -D branch1 Deleted branch branch1 (was df7c41a). # チェックアウト可能 $ git checkout testtag Note: checking out 'testtag'. 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 df7c41a... modify hoge1.txt
ブランチは残したくはないがある時点でのリポジトリ履歴を残しておきたい場合や、
ブランチのバックアップを残しておきたい場合などにこの機能を使うと便利です。