我已将标签推入遥控器,当另一个用户创建相同的标签并尝试推送时,推送将失败,因为遥控器上已存在标签。
但我想如果我这样做 - 强制标签推送,它应该是有用的。但这不是我所看到的。
我想我必须这样做。
Create tag
Push tag -> If push fails -> Delete tag on remote
-> push tag again.
这是对的吗? Isnt force push标签应该解决这个问题吗?
我正在使用带注释的标签
git -a v1.0 -f -m "message"
感谢您的光临。
答案 0 :(得分:34)
在我的情况下,当标签已经存在时,远程拒绝强制推送。
所以,当推送被拒绝时,我做了
git push --delete origin tagname
并推送新标签。
请参阅Torek对我的问题的评论。有一种情况,远程也可以拒绝删除。
答案 1 :(得分:13)
这将强制推送所有标签并覆盖现有标签。
git push -f --tags
答案 2 :(得分:0)
首先,删除远程中的所有标签:
git tag -l | awk 'BEGIN{ORS=" "}{print $0}' | xargs git push origin --delete
然后将所有标签推送到远程:
git push --tags