当前位置:网站首页>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:04:51 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://chowdera.com/2022/01/202201080559015589.html

随机推荐