1. ホーム
  2. git

[解決済み] リモートタグを削除する方法を教えてください。

2022-03-15 06:21:56

質問内容

すでにプッシュされているGitタグを削除するにはどうすればよいですか?

解決方法は?

リモートタグ名への「空」の参照をプッシュすることができます。

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

自分のmasterブランチをオリジンのmasterブランチにプッシュする実例を挙げると

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

ソースの参照 (コロンの前の部分) を省略することで、「何もない」状態を送信先に送り、リモート側の参照は削除されます。