2011-10-30 39 views
63

在git的枢纽我重新添加标签:git的标签删除并做重新添加

git tag -d 12.15 
git push origin :refs/tags/12.15 
git tag -a 12.15 -m '12.15' 
git push --tags 

标签仍然是指在GitHub上的旧标签,但当地是做正确的。

更新:看来github列出了最后一次提交错误,但正确下载。

+13

'git tag -d'删除一个标签。其实我是来这里寻找... :) –

回答

65

的引用https://stackoverflow.com/a/5480292/1317035

你只需要按下一个 '空' 参考远程标记名称:

git push origin :tagname 

或者,更传神,使用--delete选项:

git push --delete origin tagname 

将分支,标记或其他引用推送到远程存储库涉及指定“推送哪里,什么源,什么目的地?”

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

,你把你的master分支到原点的主分支一个真实世界的例子是:

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

这是因为默认路径,可以缩短为:

git push origin master:master 

标签以同样的方式工作:

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

通过省略源ref(冒号前的部分),将'nothing'推送到目的地,删除远端的ref。

+3

为什么加入':'工程的好信息..谢谢.. –

+0

@guymograbi你可以在这里找到更多信息http://git-scm.com/docs/git-按#OPTIONS – nickleefly