Git タグ

重要な段階に達し、コミットのスナップショットを永遠に記録したい場合は、次を使用できますgit tagそれにタグを付けます。

Git タグ(Tag)は、リポジトリ内の特定のコミットポイントにマークを付けるために使用され、通常はリリースバージョン(v1.0、v2.0 など)に使用されます。

たとえば、サンプル プロジェクトに「1.0」バージョンをリリースしたい場合、次を使用できますgit tag -a v1.0コマンドで最新のコミット(HEAD)に「v1.0」のタグを付けます。

-aオプションは次のことを意味します

「注釈付きタグを作成する」、使用しない-aオプションを使用しなくても実行できますが、このタグがいつ誰によって作成されたかは記録されず、タグの注釈を追加することもできません。常に注釈付きタグを作成することをお勧めします。

タグの構文形式:

git tag <tagname>

例:

git tag v1.0

-aオプションで注釈を追加できます:

$ git tag -a v1.0 

git tag -a コマンドを実行すると、Git はエディタを開き、コミットに注釈を付けるときと同じように、タグの注釈を書かせます。

さて、次を実行するとgit log --decorateのときに、タグを確認できます:

*   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\  
| * 7774248 (change_site) changed the サンプル.php
* | c68142b 修改代码
|/  
* c1501a2 removed test.txt、add サンプル.php
* 3e92c19 add test.txt
* 3b58100 第一次版本提交

コミットにタグを付けるのを忘れて公開してしまった場合は、後からタグを追加できます。

たとえば、コミット 85fc7e7(上記の例の最後の行)を公開したが、そのときにタグを付けるのを忘れたとします。その場合も、次のようにしてタグを追加できます:

$ git tag -a v0.9 85fc7e7
$ git log --oneline --decorate --graph
*   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\  
| * 7774248 (change_site) changed the サンプル.php
* | c68142b 修改代码
|/  
* c1501a2 removed test.txt、add サンプル.php
* 3e92c19 add test.txt
* 3b58100 (tag: v0.9) 第一次版本提交

すべてのタグを表示するには、次のコマンドを使用します:

$ git tag
v0.9
v1.0

タグをリモートリポジトリにプッシュする

デフォルトでは、git push はタグをプッシュしません。タグを明示的にプッシュする必要があります。

git push origin <tagname>

すべてのタグをプッシュする:

git push origin --tags

軽量タグの削除

ローカルで削除:

git tag -d <tagname>

リモートで削除:

git push origin --delete <tagname>

注釈付きタグ

注釈付きタグには、作成者の名前、メールアドレス、日付が保存され、タグ情報を含めることができます。注釈付きタグはより正式で、追加のメタデータが必要な場面に適しています。

注釈付きタグの作成構文:

git tag -a <tagname> -m "message"
例:
git tag -a <tagname> -m "example.com标签"

PGP 署名タグのコマンド:

git tag -s <tagname> -m "example.com标签"

タグ情報の表示:

git show <tagname>

例

以下は、タグの作成、表示、プッシュ、削除の方法を示す総合的な例です。

軽量タグと注釈付きタグの作成:

git tag v1.0
git tag -a v1.1 -m "example.com标签"

タグとタグ情報の表示:

git tag
git show v1.1

タグをリモートリポジトリにプッシュ:

git push origin v1.0
git push origin v1.1
git push origin --tags  # 推送所有标签

タグの削除

ローカルで削除:

git tag -d v1.0

リモートで削除:

git push origin --delete v1.0
その他の拡張