Git"坚持"分支

use*_*946 5 git version-control dvcs

我在将我的分支推送到远程存储库时遇到问题.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.

谢谢!

Von*_*onC 6

如本博文中所述,请确保您没有与分支同名的标记.
如果是这种情况,您可以在上游仓库中删除它:

git push origin :refs/tags/XXX 
Run Code Online (Sandbox Code Playgroud)

在答案中描述的替代方案是显式推送分支(为源和目标设置refspec)

git push origin refs/heads/XXX:refs/heads/XXX
Run Code Online (Sandbox Code Playgroud)