準備
GitHubに空のリポジトリーを作ってクローン。
1 2 3 4 5 6 7 8 9 |
[vagrant@localhost git]$ git clone git@github.com:taustation/example.git Cloning into 'example'... Enter passphrase for key '/home/vagrant/.ssh/id_rsa': remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done. [vagrant@localhost git]$ cd example [vagrant@localhost git]$ cd example/ |
軽量タグ(lightweight)
コミット
ファイルを1つ作成してコミット。
1 2 3 4 5 6 7 8 |
[vagrant@localhost example]$ vi sample.txt [vagrant@localhost example]$ cat sample.txt 新規作成 [vagrant@localhost example]$ git add . [vagrant@localhost example]$ git commit -m "commit-1" [main f69f176] commit-1 1 file changed, 1 insertion(+) create mode 100644 sample.txt |
コミット後のログ。
1 2 3 4 5 6 7 8 9 10 11 12 |
[vagrant@localhost example]$ git log commit f69f176435cf6436c3b3329af644999ba96da862 (HEAD -> main) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:27:02 2021 +0900 commit-1 commit 449d5ea9fec38c9aec00d22d28f3db88902046c4 (origin/main, origin/HEAD) Author: taustation <88479749+taustation@users.noreply.github.com> Date: Fri Aug 13 15:03:31 2021 +0900 Initial commit |
タグ付け~git tag ...
HEAD
があるコミットにタグをつけるには以下のコマンド。
git tag タグ名
1 |
[vagrant@localhost example]$ git tag version_new |
ログにタグが反映された。
1 2 3 4 5 6 7 8 9 10 11 12 |
[vagrant@localhost example]$ git log commit f69f176435cf6436c3b3329af644999ba96da862 (HEAD -> main, tag: version_new) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:27:02 2021 +0900 commit-1 commit 449d5ea9fec38c9aec00d22d28f3db88902046c4 (origin/main, origin/HEAD) Author: taustation <88479749+taustation@users.noreply.github.com> Date: Fri Aug 13 15:03:31 2021 +0900 Initial commit |
注釈付きタグ(annotated)
コミット
ファイルに変更を加えてコミット。
1 2 3 4 5 6 7 8 |
[vagrant@localhost example]$ vi sample.txt [vagrant@localhost example]$ cat sample.txt 新規作成 1行追加 [vagrant@localhost example]$ git add . [vagrant@localhost example]$ git commit -m "commit-2" [main dd51a83] commit-2 1 file changed, 1 insertion(+) |
タグ付け~git tag -a ... -m ...
このコミットに注釈付きタグをつける。
git tag -a タグ名 -m "注釈"
1 |
[vagrant@localhost example]$ git tag -a ver_1.1 -m "sample.txtに1行追加" |
ログでの表示は軽量版と同じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[vagrant@localhost example]$ git log commit dd51a8331d349b7641d6a95729af16ee3989ecd8 (HEAD -> main, tag: ver_1.1) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:32:15 2021 +0900 commit-2 commit f69f176435cf6436c3b3329af644999ba96da862 (tag: version_new) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:27:02 2021 +0900 commit-1 commit 449d5ea9fec38c9aec00d22d28f3db88902046c4 (origin/main, origin/HEAD) Author: taustation <88479749+taustation@users.noreply.github.com> Date: Fri Aug 13 15:03:31 2021 +0900 Initial commit |
タグの一覧
タグ名のみ~git tag
タグ名のみの一覧はgit tag
で表示できる。
1 2 3 |
[vagrant@localhost example]$ git tag ver_1.1 version_new |
注釈付き~git tag -n
タグの注釈も含めて表示するには以下のコマンド。軽量版はコミットのコメントが表示される。
git tag -n
1 2 3 |
[vagrant@localhost example]$ git tag -n ver_1.1 sample.txtに1行追加 version_new commit-1 |
タグの削除~git tag -d
タグ名を指定して削除するコマンド。
git tag -d タグ名
1 2 |
[vagrant@localhost example]$ git tag -d version_new Deleted tag 'version_new' (was f69f176) |
タグ一覧で削除の確認。
1 2 |
[vagrant@localhost example]$ git tag ver_1.1 |
ログで削除の確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[vagrant@localhost example]$ git log commit dd51a8331d349b7641d6a95729af16ee3989ecd8 (HEAD -> main, tag: ver_1.1) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:32:15 2021 +0900 commit-2 commit f69f176435cf6436c3b3329af644999ba96da862 Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:27:02 2021 +0900 commit-1 commit 449d5ea9fec38c9aec00d22d28f3db88902046c4 (origin/main, origin/HEAD) Author: taustation <88479749+taustation@users.noreply.github.com> Date: Fri Aug 13 15:03:31 2021 +0900 Initial commit |
過去のコミットへのタグ付け
特定のコミットにタグをつける場合は、コミットのチェックサム(一部でもよい)を指定する。
git tag タグ名 チェックサム(の一部)
1 2 3 4 |
[vagrant@localhost example]$ git tag beta f69f176435cf6436c3b3329af644999ba96da862 [vagrant@localhost example]$ git tag beta ver_1.1 |
タグの追加の確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[vagrant@localhost example]$ git log commit dd51a8331d349b7641d6a95729af16ee3989ecd8 (HEAD -> main, tag: ver_1.1) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:32:15 2021 +0900 commit-2 commit f69f176435cf6436c3b3329af644999ba96da862 (tag: beta) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:27:02 2021 +0900 commit-1 commit 449d5ea9fec38c9aec00d22d28f3db88902046c4 (origin/main, origin/HEAD) Author: taustation <88479749+taustation@users.noreply.github.com> Date: Fri Aug 13 15:03:31 2021 +0900 Initial commit |
タグの詳細表示~git show ...
タグの突いたコミットの詳細を見るのにgit show
でコミットのチェックサムを指定する代わりにタグ名を指定できる。注釈付きタグの場合は、タグに関する情報も表示される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[vagrant@localhost example]$ git show ver_1.1 tag ver_1.1 Tagger: taustation <taustation@gmail.com> Date: Fri Aug 13 15:33:15 2021 +0900 sample.txtに1行追加 commit dd51a8331d349b7641d6a95729af16ee3989ecd8 (tag: ver_1.1) Author: taustation <taustation@gmail.com> Date: Fri Aug 13 15:32:15 2021 +0900 commit-2 diff --git a/sample.txt b/sample.txt index 26ca972..e05e5a6 100644 --- a/sample.txt +++ b/sample.txt @@ -1 +1,2 @@ 新規作成 +1行追加 |
単にgit push
しただけではタグは反映されない。
1 2 3 4 5 6 7 8 9 |
[vagrant@localhost example]$ git push Enter passphrase for key '/home/vagrant/.ssh/id_rsa': Enumerating objects: 7, done. Counting objects: 100% (7/7), done. Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 545 bytes | 545.00 KiB/s, done. Total 6 (delta 0), reused 0 (delta 0) To github.com:taustation/example.git 449d5ea..dd51a83 main -> main |
上部のtags
が0のまま。
タグをリモートに反映させるには、以下のように--tags
オプションをつける
git push --tags
ただしgit push --tags
はタグのみをプッシュする。
1 2 3 4 5 6 7 8 9 |
[vagrant@localhost example]$ git push --tags Enter passphrase for key '/home/vagrant/.ssh/id_rsa': Enumerating objects: 1, done. Counting objects: 100% (1/1), done. Writing objects: 100% (1/1), 183 bytes | 183.00 KiB/s, done. Total 1 (delta 0), reused 0 (delta 0) To github.com:taustation/example.git * [new tag] beta -> beta * [new tag] ver_1.1 -> ver_1.1 |
tags
が2となっている。
tags
をクリックするとタグ一覧が表示され、そのコミットに飛んだりzipをダウンロードできる。