Vraag Hoe verwijder ik een externe git-tag?


Hoe verwijder je een Git-tag die al is gepusht?


2123
2018-03-29 23:41


oorsprong


antwoorden:


U hoeft alleen maar een 'lege' verwijzing naar de externe tagnaam in te drukken:

git push origin :tagname

Of, expressiever, gebruik de --delete optie (of -d als je git-versie ouder is dan 1.8.0):

git push --delete origin tagname

Als u ook de lokale tag wilt verwijderen, gebruik dan:

git tag --delete tagname

Achtergrond

Een branch, tag of andere ref naar een externe repository verplaatsen, houdt in dat u "push where, what source, what destination?" Opgeeft.

git push where-to-push source-ref:destination-ref

Een voorbeeld uit de echte wereld waarin u uw hoofdtak naar de hoofdtak van de oorsprong duwt, is:

git push origin refs/heads/master:refs/heads/master

Die vanwege standaardpaden kan worden ingekort tot:

git push origin master:master

Tags werken op dezelfde manier:

git push origin refs/tags/release-1.0:refs/tags/release-1.0

Die kan ook worden ingekort tot:

git push origin release-1.0:release-1.0

Door de bron-ref weg te laten (het gedeelte voor de dubbele punt), duwt u 'niets' naar de bestemming en verwijdert u de ref op het externe uiteinde.


3499
2018-03-29 23:45



Een meer rechtlijnige manier is

git push --delete origin YOUR_TAG_NAME

IMO prefixing colon syntaxis is een beetje vreemd in deze situatie


243
2017-10-09 00:47



Als u een externe tag heeft v0.1.0 verwijderen en je afstandsbediening is origin, dan simpelweg:

git push origin :refs/tags/v0.1.0

Als u de tag ook lokaal moet verwijderen:

git tag -d v0.1.0

Zien Adam Francohet antwoord voor een uitleg van Git's ongewoon : syntaxis voor verwijdering.


133
2017-07-21 16:14



Verwijder alle lokale tags en ontvang de lijst met externe tags:

git tag -l | xargs git tag -d
git fetch

Verwijder alle externe tags

git tag -l | xargs -n 1 git push --delete origin

Ruimtetags op

git tag -l | xargs git tag -d

72
2018-04-02 02:26



Om de tag uit de externe repository te verwijderen:

git push --delete origin TAGNAME

U kunt de tag ook lokaal verwijderen:

git tag -d TAGNAME

26
2017-09-04 10:30



Doe dit vanaf je terminal:

git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}

Ga nu naar Github.com en ververs, ze verdwijnen.


17
2018-06-27 13:23



Merk gewoon op dat, als u een remote branch heeft die wordt genoemd als een externe tag, deze opdrachten dubbelzinnig zijn:

git push origin :tagname
git push --delete origin tagname

Dus je moet dit commando gebruiken om de tag te verwijderen:

git push origin :refs/tags/<tag>

en deze om de tak te verwijderen:

git push origin :refs/heads/<branch>

Als dit niet het geval is, krijgt u de volgende foutmelding:

error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'

12
2018-05-05 17:28



Als u een tag heeft gemaakt met de naam release01 in een Git-repository zou je het uit je repository verwijderen door het volgende te doen:

git tag -d release01 
git push origin :refs/tags/release01 

Om een ​​uit een Mercurial repository te verwijderen:

hg tag --remove featurefoo

Raadpleeg alstublieft https://confluence.atlassian.com/pages/viewpage.action?pageId=282175551


8
2017-11-11 05:54