コミットに軽量タグを付け、そのタグをリモートリポジトリにプッシュして、他の開発者と共有しました。に表示されるように注釈を付ける必要があることに気付きましたgit describe
。
物事を壊すことなくコミットを変換/再タグ付けする方法はありますか?
軽量タグは、そのコミットを指す単なる「参照」です。古いタグの上に新しい注釈付きタグを強制的に作成できます。
git tag -a -f <tagname> <tagname>
Git v1.8.2以降、軽量タグを、既存のものと同じコミットを指す実質的に早送りまたは真のタグオブジェクトであるものに置き換える場合でも--force
、リモート上のすべてのタグをに置き換えるために使用する必要がありますgit push
タグ参照。
git push --force origin <tagname>
すべてのタグを注釈付きに変換します(Charles Baileyの例とFerencWágnerのコメントに基づく):
for tag in $(git tag -l); do git tag -a -f $tag $tag^0 -m $tag; done
git push --tags --force
単純に使用git describe --tags
して、軽量タグを検索に含めることもできます。