Git已删除标签反复重现求助:是Git Bug还是操作失误?
问题分析与解决
你的情况不是Git的Bug,是操作遗漏导致的——你只删除了远程仓库的标签,但本地仓库里还保留着这些标签,每次执行git push(包括删除标签的操作)时,Git会自动把本地存在但远程缺失的标签推送到远端,形成循环。
解决步骤
- 先删除本地的目标标签:
git tag -d v0.8.1 git tag -d v1.2.1
- 一次性删除远程仓库的这两个标签:
git push -d origin v0.8.1 v1.2.1
或者用另一种写法:
git push origin :v0.8.1 :v1.2.1
为什么会出现循环?
Git默认有push.followTags配置(如果该值为true),会在执行push操作时,自动将本地所有远程仓库没有的标签推送到远端。你之前只删除了远程的单个标签,本地还保留着另一个,所以当你删除第二个远程标签时,Git会把本地剩下的那个标签同步到远程,导致之前删除的标签重新出现,往复循环。
你可以通过以下命令查看当前push.followTags的配置:
git config --get push.followTags
内容的提问来源于stack exchange,提问作者SystemParadox
相关产品推荐
相关产品推荐

