我在将我的分支推送到远程存储库时遇到问题。 Git给我一个错误:
error: dst refspec refs/heads/XXX matches more than one.
当我运行git ls-remote
时,它只显示了一个XXX
分支! (我尝试使用git push origin :refs/heads/XXX
删除分支,但结果相同)
我们在多个Git存储库中不止一次遇到过这个问题。我们之前做的是克隆存储库,克隆的存储库中“被卡住”的分支已经消失。
我想知道是否有任何其他解决方案可以解决此问题而无需重新克隆存储库。 Git版本是1.7.XX。
谢谢!
答案 0 :(得分:6)
如blog post所述,请确保您没有与您的分支同名的标签。
如果是这种情况,您可以在上游仓库中删除它:
git push origin :refs/tags/XXX
备选方案described in answer是显式推送分支(为源和目标设置refspec)
git push origin refs/heads/XXX:refs/heads/XXX