すでにプッシュされた Git タグを削除するにはどうすればよいですか?
ベストアンサー1
リモート タグ名に「空の」参照をプッシュできます。
git push origin :tagname
または、より表現的に、--delete
オプションを使用します (または、-d
git バージョンが 1.8.0 より古い場合):
git push --delete origin tagname
git にはタグ名前空間とブランチ名前空間があるため、ブランチとタグに同じ名前を使用できることに注意してください。タグではなくブランチを誤って削除しないようにするには、ブランチを削除しない full ref を指定します。
git push origin :refs/tags/tagname
ローカル タグも削除する必要がある場合は、次を使用します。
git tag --delete tagname
背景
ブランチ、タグ、またはその他の参照をリモート リポジトリにプッシュするには、「どのリポジトリ、どのソース、どの宛先か」を指定する必要があります。
git push remote-repo source-ref:destination-ref
マスター ブランチを元のマスター ブランチにプッシュする実際の例は次のとおりです。
git push origin refs/heads/master:refs/heads/master
デフォルトのパスのため、次のように短縮できます。
git push origin master:master
タグは同じように機能します:
git push origin refs/tags/release-1.0:refs/tags/release-1.0
これは次のように短縮することもできます。
git push origin release-1.0:release-1.0
ソース参照 (コロンの前の部分) を省略すると、宛先に「何も」プッシュされず、リモート側の参照が削除されます。