Skip to content

đŸ—‘ī¸ Delete and Push Tag ​

Git-āĻ āĻ•āĻ–āύ⧋ āĻ•āĻ–āύ⧋ āϭ⧁āϞ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž tag, āĻĒ⧁āϰāύ⧋ version tag āĻŦāĻž āϭ⧁āϞ āύāĻžāĻŽā§‡āϰ tag āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻļ⧁āϧ⧁ āϞ⧋āĻ•āĻžāϞ (local) āύāĻž, āĻ…āύ⧇āĻ• āϏāĻŽā§Ÿ remote āĻĨ⧇āϕ⧇āĻ“ tag āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤ āĻāχ āĻ•āĻžāϜāϟāĻŋ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āύāĻž āϜāĻžāύāϞ⧇ āϰāĻŋāĻŽā§‹āĻŸā§‡ āĻ…āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻŸā§āϝāĻžāĻ— āĻ°ā§Ÿā§‡ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

✅ ā§§. āϞ⧋āĻ•āĻžāϞ (Local) āĻŸā§āϝāĻžāĻ— āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻž ​

bash
git tag -d <tag-name>
git tag -d <tag-name>

đŸŽ¯ āωāĻĻāĻžāĻšāϰāĻŖ: ​

bash
git tag -d v1.0
git tag -d v1.0

āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āϞ⧋āĻ•āĻžāϞ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋ āĻĨ⧇āϕ⧇ v1.0 āĻŸā§āϝāĻžāĻ— āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻŦ⧇āĨ¤

✅ ⧍. āϰāĻŋāĻŽā§‹āϟ (Remote) āĻŸā§āϝāĻžāĻ— āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻž ​

āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āϜāĻ¨ā§āϝ git push āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ --delete āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤

bash
git push origin --delete <tag-name>
git push origin --delete <tag-name>

đŸŽ¯ āωāĻĻāĻžāĻšāϰāĻŖ: ​

bash
git push origin --delete v1.0
git push origin --delete v1.0

āĻāϟāĻŋ GitHub/GitLab/Bitbucket āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ v1.0 āĻŸā§āϝāĻžāĻ— āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻŦ⧇āĨ¤

âš ī¸ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ: ​

āĻļ⧁āϧ⧁ git tag -d v1.0 āϚāĻžāϞāĻžāϞ⧇ āϞ⧋āĻ•āĻžāϞ āĻŸā§āϝāĻžāĻ— āĻŽā§āϛ⧇ āϝāĻžāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ git push origin --delete v1.0 āϚāĻžāϞāĻžāϞ⧇ āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āϝāĻžāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϞ⧋āĻ•āĻžāϞ āĻŸā§āϝāĻžāĻ— āĻ°ā§Ÿā§‡ āϝāĻžāĻŦ⧇āĨ¤ 👉 āϤāĻžāχ āĻĻ⧁āχ āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇āχ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇ āĻĻ⧁āχāϟāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāχ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤

✅ ā§Š. āĻāĻ•āχ āϏāĻžāĻĨ⧇ āϞ⧋āĻ•āĻžāϞ āĻāĻŦāĻ‚ āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āĻĄāĻŋāϞāĻŋāϟ ​

bash
git tag -d v1.0
git push origin --delete v1.0
git tag -d v1.0
git push origin --delete v1.0

✅ ā§Ē. āϭ⧁āϞ āύāĻžāĻŽā§‡āϰ āĻŸā§āϝāĻžāĻ— āĻ āĻŋāĻ• āĻ•āϰ⧇ āφāĻŦāĻžāϰ āĻĒ⧁āĻļ ​

āϧāϰāĻž āϝāĻžāĻ•, āφāĻĒāύāĻŋ āϭ⧁āϞ āĻ•āϰ⧇ v1 āύāĻžāĻŽā§‡āϰ āĻāĻ•āϟāĻŋ tag āϤ⧈āϰāĻŋ āĻ•āϰ⧇āϛ⧇āύ, āφāϏāϞ⧇ āφāĻĒāύāĻŋ āϚāĻžāĻšā§āĻ›āĻŋāϞ⧇āύ v1.0āĨ¤

āϧāĻžāĻĒ ā§§: āϭ⧁āϞ tag āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧁āύ ​

bash
git tag -d v1
git push origin --delete v1
git tag -d v1
git push origin --delete v1

āϧāĻžāĻĒ ā§¨: āϏāĻ āĻŋāĻ• tag āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ ​

bash
git tag -a v1.0 -m "Version 1.0 release"
git push origin v1.0
git tag -a v1.0 -m "Version 1.0 release"
git push origin v1.0

✅ ā§Ģ. āĻāĻ•āĻžāϧāĻŋāĻ• āĻŸā§āϝāĻžāĻ— āĻĄāĻŋāϞāĻŋāϟ (local) ​

bash
git tag -d v1.0 v1.1 v1.2
git tag -d v1.0 v1.1 v1.2

āĻāĻ•āĻžāϧāĻŋāĻ• āϰāĻŋāĻŽā§‹āϟ tag āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāϤ⧇: ​

bash
git push origin --delete v1.0 v1.1 v1.2
git push origin --delete v1.0 v1.1 v1.2

āϏāĻŦ āϰāĻŋāĻŽā§‹āϟ tag āĻāĻ•āϏāĻžāĻĨ⧇ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻ­āĻžāϞ⧋ āĻ•āϰ⧇ āϝāĻžāϚāĻžāχ āĻ•āϰ⧁āύ, āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āĻ­āĻžāĻ°ā§āϏāύ āĻŸā§āϝāĻžāĻ— āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

✅ ā§Ŧ. refs/tags/<tag> āĻĻāĻŋā§Ÿā§‡ āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āĻĄāĻŋāϞāĻŋāϟ (āĻ…āĻ˛ā§āϟāĻžāϰāύ⧇āϟāĻŋāĻ­) ​

bash
git push origin :refs/tags/v1.0
git push origin :refs/tags/v1.0

āĻāĻ–āĻžāύ⧇ : āĻŽāĻžāύ⧇ āĻŸā§āϝāĻžāĻ—āϕ⧇ null āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻĻāĻŋā§Ÿā§‡ replace āĻ•āϰāĻž, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻĄāĻŋāϞāĻŋāϟāĨ¤

✅ ā§­. āϭ⧁āϞ āĻŸā§āϝāĻžāϗ⧇ āĻ•āĻŽāĻŋāϟ āĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻ›āĻŋāϞ? āφāĻŦāĻžāϰ āĻ āĻŋāĻ• āĻ•āϰ⧁āύ ​

bash
git tag -d v1.0
git push origin --delete v1.0

# āϏāĻ āĻŋāĻ• āĻ•āĻŽāĻŋāĻŸā§‡ āĻŸā§āϝāĻžāĻ— āĻ•āϰ⧁āύ
git tag -a v1.0 3f3c2a1 -m "Correct version 1.0"
git push origin v1.0
git tag -d v1.0
git push origin --delete v1.0

# āϏāĻ āĻŋāĻ• āĻ•āĻŽāĻŋāĻŸā§‡ āĻŸā§āϝāĻžāĻ— āĻ•āϰ⧁āύ
git tag -a v1.0 3f3c2a1 -m "Correct version 1.0"
git push origin v1.0

✅ ā§Ž. āϰāĻŋāĻŽā§‹āϟ āĻŸā§āϝāĻžāĻ— āϞāĻŋāĻ¸ā§āϟ āĻĻ⧇āĻ–āϤ⧇: ​

bash
git ls-remote --tags origin
git ls-remote --tags origin

✅ ⧝. āϏāĻ•āϞ āϞ⧋āĻ•āĻžāϞ āĻŸā§āϝāĻžāĻ— āĻĻ⧇āĻ–āϤ⧇: ​

bash
git tag
git tag

đŸ§Ē āĻāĻ•āĻĻāĻŽ āϛ⧋āϟ āωāĻĻāĻžāĻšāϰāĻŖ: ​

bash
# āϞ⧋āĻ•āĻžāϞ āĻĄāĻŋāϞāĻŋāϟ
git tag -d old-release

# āϰāĻŋāĻŽā§‹āĻŸā§‡āĻ“ āĻĄāĻŋāϞāĻŋāϟ
git push origin --delete old-release
# āϞ⧋āĻ•āĻžāϞ āĻĄāĻŋāϞāĻŋāϟ
git tag -d old-release

# āϰāĻŋāĻŽā§‹āĻŸā§‡āĻ“ āĻĄāĻŋāϞāĻŋāϟ
git push origin --delete old-release

🔁 āϝāĻĻāĻŋ āĻŸā§āϝāĻžāĻ— āφāĻŦāĻžāϰ āĻ āĻŋāĻ• āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āϚāĻžāύ: ​

bash
git tag -a v2.0 -m "Updated tag after fix"
git push origin v2.0
git tag -a v2.0 -m "Updated tag after fix"
git push origin v2.0

🧠 āĻŽāύ⧇ āϰāĻžāĻ–āĻžāϰ āϟāĻŋāĻĒāϏ: ​

āĻ•āĻžāϜāĻ•āĻŽāĻžāĻ¨ā§āĻĄ
āϞ⧋āĻ•āĻžāϞ tag āĻĄāĻŋāϞāĻŋāϟgit tag -d tagname
āϰāĻŋāĻŽā§‹āϟ tag āĻĄāĻŋāϞāĻŋāϟgit push origin --delete tagname
tag āĻ āĻŋāĻ• āĻ•āϰ⧇ āφāĻŦāĻžāϰ āĻĒ⧁āĻļāĻĄāĻŋāϞāĻŋāϟ → āĻŸā§āϝāĻžāĻ— → āĻĒ⧁āĻļ

🔚 āωāĻĒāϏāĻ‚āĻšāĻžāϰ ​

Git āĻŸā§āϝāĻžāĻ— āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāĻž āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ āĻŦ⧜ āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡ āϝ⧇āĻ–āĻžāύ⧇ āĻ­āĻžāĻ°ā§āϏāύāĻŋāĻ‚ āĻ…āĻĒāϰāĻŋāĻšāĻžāĻ°ā§āϝāĨ¤ āϭ⧁āϞ āĻŸā§āϝāĻžāĻ— āĻĨāĻžāĻ•āϞ⧇ āϏ⧇āϟāĻŋ āĻŽā§āϛ⧇ āĻĻāĻŋā§Ÿā§‡ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒ⧁āύāϰāĻžā§Ÿ āϤ⧈āϰāĻŋ āĻ“ āĻĒ⧁āĻļ āĻ•āϰāϞ⧇ āĻĒ⧁āϰ⧋ āϟāĻŋāĻŽ āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āϏāĻ āĻŋāĻ• āϰāĻŋāϞāĻŋāϜ āĻĒāĻžāĻŦ⧇āĨ¤

Released under the MIT License.