远方有多远,请你告诉我!

git中branch名称与tag名称相同

Posted on By 赵赵赵小白

refspec matches more than one

在提交代码的时候我错误的将branch和tag命名成了相同名称,导致提交的时候报错.

问题示例

git branch test1.1
git checkout test1.1
git tag test1.1
git push

报错: refspec *** matches more than one

解决方案

  • 推送分支和tag的时候进行路径指定, 不然在branch 和 tag 中,git不知道用户到底想要推送哪个

git push origin refs/heads/test1.1:refs/tags test1.1

  • 非要branch 和 tag名称一样的话,每次推送都要使用完整的路径名称

git push origin refs/heads/test1.1

  • 已经推送到远程仓库中的,可以删除分支重新创建

git push origin -d heads/test1.1

test1.1 是我自己命名的,解决问题时请自行修改分支名

参考

  • https://blog.csdn.net/qq_32452623/article/details/76649109
  • https://stackoverflow.com/questions/70584317/git-push-error-dst-refspec-refs-heads-main-matches-more-than-one
  • https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
  • Git小抄