今日、プロジェクトのログを調べていたところ、以前タグ名を間違えたことに気付きました。タグ名を変更する方法はありますか? Google で検索しても役に立つ情報は見つかりませんでした。
タグ付きバージョンをチェックして新しいタグを作ることができることはわかっています。実際に試してみました。しかし、それは正しくないタグオブジェクトを作成するようです。まず、
git tag -l
他のすべてのタグに対して順序が逆になっています。これが重要なのかどうかはわかりませんが、新しいタグ オブジェクトは私が求めているものではないと思わせてくれます。タグ名がドキュメントと一致していることだけを気にしているので、これで我慢できますが、正しい方法があるのであれば、むしろ「正しく」行いたいと思います。
ベストアンサー1
軽量タグの名前を次のようold
に変更しますnew
。
git tag new old # Create a new local tag named `new` from tag `old`.
git tag -d old # Delete local tag `old`.
git push origin new :old # Push `new` to your remote named "origin", and delete
# tag `old` on origin (by pushing an empty tag
# name to it).
push コマンドのコロンは、リモート リポジトリからタグを削除します。これを行わないと、pull 時に Git がマシン上に古いタグを作成します。最後に、他のユーザーが削除したタグを削除したことを確認します。同僚に次のコマンドを実行するように伝えてください。
git fetch --prune --prune-tags
名前を変更する場合は、注釈付きタグ、新しいタグ名が、削除しようとしている古い注釈付きタグオブジェクトではなく、基礎となるコミットを参照していることを確認する必要があります。古いタグが注釈付きタグである場合、または確信が持てない場合は^{}
、オブジェクトを参照解除するタグ以外のオブジェクトが見つかるまで:
# create a new annotated tag "new" referencing the object
# which the old annotated tag "old" was referencing:
git tag -a new old^{}