我无法将使用hotfix
创建的git-flow
分支的提交推送到远程存储库。
这是错误:
$ 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
之后)更新
git ls-remote origin
和git show-ref
显示本地和远程修补程序分支的不同引用,但这是因为我在本地有1个额外提交,而父提交的引用与origin
上的引用匹配
答案 0 :(得分:3)
看起来它实际上是服务器存储库的问题。 在服务器上的裸存储库上运行这些步骤可以清除错误:
git fsck --full
git prune
git gc
注意:根据手册页git prune
不是必需的,因为git gc
会调用它,但我正在尝试所有内容。
答案 1 :(得分:1)
考虑issue 92,我认为不会发布修补程序分支 这是一个尚待处理的功能请求。
虽然
release
和feature
分支都可以发布(git flow release/feature publish
),但修补程序分支却不能发布。
因此,推文本身可能无法与(已经被拒绝的)发布操作兼容。