git push 上的“src refspec 不匹配”和“无法推送一些引用”错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12201083/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
"src refspec does not match" and "failed to push some refs" errors on git push
提问by alex
Possible Duplicate:
Error when “git push” to github
可能的重复:
“git push”到 github 时出错
I tried to push my new branch (let's just call it new_branch
) to remote rep. There is no such branch there yet, but git push origin new_branch:new_branch
should create it. When I try to do it, this is what I get:
我试图将我的新分支(让我们称之为new_branch
)推送到远程代表。那里还没有这样的分支,但git push origin new_branch:new_branch
应该创建它。当我尝试这样做时,这就是我得到的:
error: src refspec new_branch does not match any.
error: failed to push some refs to 'ssh://git@***'
I dug through million of questions like this on SO, but none of them specified these two errors at once and they referred only to master
branch (I don't know if it makes any difference).
我在 SO 上挖掘了数百万个这样的问题,但他们都没有一次指出这两个错误,而且他们只提到了master
分支(我不知道这是否有什么区别)。
What I already tried include commit
, reset
and push
in many configurations. And they didn't work so far. I suppose there may be some issue with HEAD
, because I messed with it some time ago. But it's a guess and I don't even know how to check it properly, since GIT is still a teeny-tinymystery for me.
我已经尝试过的包括commit
,reset
和push
许多配置。他们到目前为止还没有工作。我想可能有一些问题HEAD
,因为我前段时间搞砸了。但这是一个猜测,我什至不知道如何正确检查它,因为 GIT对我来说仍然是一个很小的谜。
So - how can I get rid of these errors and push my local branch to remote repository?
那么 - 我怎样才能摆脱这些错误并将我的本地分支推送到远程存储库?
回答by Ethan Brown
The syntax you're using for git push
includes a refspec(new_branch:new_branch
). Refspecs are always in the form source:destination
, so the error is telling you that something's wrong with the source part of your refspec.
您使用的语法git push
包括refspec( new_branch:new_branch
)。Refspecs 总是在表单中source:destination
,所以错误告诉你你的refspec的源部分有问题。
I was able to reproduce this error by trying to push a branch that doesn't exist (git push origin fake:fake
). I know this seems like a painfully stupid question, but are you sure you're spelling your branch name correctly? Keep in mind that branch names are case-sensitive. What do you see when you type git branch
?
通过尝试推送不存在的分支 ( git push origin fake:fake
) ,我能够重现此错误。我知道这似乎是一个非常愚蠢的问题,但是您确定您的分支名称拼写正确吗?请记住,分支名称区分大小写。你打字时看到什么git branch
?