当前位置:网站首页>Push failed Dst refspec V1.0.0 matches more than one.

Push failed Dst refspec V1.0.0 matches more than one.

2022-01-15 02:03:26 markix

执行git push失败,异常信息:Push failed Dst refspec V1.0.0 matches more than one.
原因:远程存在相同名称的branch和tag,冲突了。
解决:删除branch或者tag

  • 删除远程tag(本地tag不会被删)
    $ git push origin --delete refs/tags/[name]
  • 删除远程branch(本地branch不会被删)
    $ git push origin --delete refs/heads/[name]

另一种解决思路
注意,上述命令不会删除本地的branch或tag,也就是说,如果你本地也存在相同名称的branch和tag,虽然通过上述一顿操作后可以正常push,但是,下次push还是会出现同样的问题。至于原因你懂的吧,push后远程又会出现相同名称的branch和tag。所以,根本问题是,怎么避免branch和tag名称冲突?
我的解决思路是,把branch当成一些列版本的合集,命名格式为:V1.x,而tag当作具体的一个发布版本,命名格式为:V1.x.x。(参考开源库的方式,eg: spring)

划重点,个人觉得比较好处理方式

  1. 删除远程分支
    $ git push origin --delete refs/heads/[name]
  2. 修改本地分支的名称
    $ git branch -m [old_name] [new_branch_name]

版权声明
本文为[markix]所创,转载请带上原文链接,感谢
https://markix.blog.csdn.net/article/details/119850310

随机推荐