【发布时间】:2013-02-07 17:05:01
【问题描述】:
我在将使用git-flow 创建的hotfix 分支上的提交推送到远程存储库时遇到问题。
这是错误:
$ git push origin hotfix/MyHotfix
Counting objects:
... etc
To {my remote repo}
! [remote rejected] hotfix/MyHotfix -> hotfix/MyHotfix (no such ref)
error: failed to push some refs to {my remote repo}
我使用标准语法创建了hotfix:
git flow hotfix start MyHotfix
这个分支已经存在于origin,我可以通过git branch -a 看到。
我还检查了远程服务器上是否仍然存在该分支,因为它在我运行 git remote show origin 时出现。
之前有没有人遇到过git 或git-flow 并找到解决方案?
注意 - 我尝试过的事情:
- 重新克隆远程仓库 -> 相同的错误
- 删除本地分支->同样的错误
- 删除远程分支 -> 我可以推送“新”分支,但是当我的同事尝试推送提交时(在
git remote prune origin之后),在本地 repo 上得到相同的错误 - 强制推送 -> 相同的错误
- 上游推送->同样的错误
- 检查 refs -> 我的提交父 ID 与服务器匹配
更新:
git ls-remote origin 和 git show-ref 显示本地和远程修补程序分支的不同 refs,但这是因为我在本地有 1 个额外提交,并且父提交的 ref 与 origin 上的 ref 匹配。
【问题讨论】:
-
你试过
git flow hotfix finish MyHotfix吗? -
这将关闭修补程序,但仍然无法解决能够推送完全有效分支的问题。