赞
踩
我克隆我的存储库:
git clone ssh://xxxxx/xx.git
但是在我更改了一些文件并 add 和 commit 它们之后,我想将它们推送到服务器:
git add xxx.php
git commit -m "TEST"
git push origin master
但我回来的错误是:
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com
也许你只需要承诺。当我这样做时,我遇到了这个:
mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .
哎呀!从未承诺!
git push -u origin master
error: src refspec master does not match any.
我所要做的就是:
git commit -m "initial commit"
git push origin main
成功!
不要盲目地按照这一步,看看@Vi提到了什么,然后修改你的push命令来更正ref。
此错误最可能的原因是所有文件都未跟踪且尚未添加。 git add --all 如果您希望添加所有文件或者您可以有选择地添加文件。然后是 git commit -m "Initial comment"、git push origin master。这肯定会奏效。
修复了不同的问题,这很好,但不是这个实际问题的真正答案。
git commit -m 'initial commit' 应该用双引号引起来。 'git commit -m "initial commit",至少在 Windows 上。
另一个可能的原因:您实际上没有一个名为 master 的分支
huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!
试试 git show-ref 看看你有什么参考。有裁判/负责人/大师吗?
由于最近的“在 GitHub 中用 main 替换 master”操作,您可能会注意到有一个 refs/heads/main。因此,以下命令可能会从 git push origin HEAD:master 更改为 git push origin HEAD:main
您可以尝试 git push origin HEAD:master 作为更独立于本地参考的解决方案。这明确说明您希望将本地 ref HEAD 推送到远程 ref 主控(请参阅 git-push refspec 文档)。
我的主分支不在提交之上!所以我创建了一个分支,它位于所有分支的末尾,并将它们推送到服务器:
git checkout -b 测试分支; git push origin testbranch:master
git show-ref 展示了我的分支; git push origin HEAD: 为我工作。
你刚刚救了我 Vi。感谢您的git push origin HEAD:master。但是为什么像 git push --force origin master 这样的东西不起作用?
master 现在更改为 main。
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
删除本地计算机上的所有文件后,我也遇到了类似的错误,我必须清理存储库中的所有文件。
我的错误信息是这样的:
error: src refspec master does not match any.
error: failed to push some refs to 'git@github ... .git'
通过执行以下命令解决了这个问题:
touch README
git add README
git add (all other files)
git commit -m 'reinitialized files'
git push origin master --force # <- caution, --force can delete others work.
其他答案并没有解决我遇到的问题(例如,我已经提交并且仍然有这个错误),但是做一个 git push origin BRANCH --force 工作。谢谢!
请参阅this earlier answer。我怀疑您需要添加一个文件,因为 git 不会跟踪空目录。
push --force 也可能完全摧毁同事的辛勤工作。由它添加警告。
这解决了我的问题。我认为 git add 做到了。虽然一开始 git 无法识别事物,但这可能就是我遇到问题的原因。 git add 命令解决了我的问题。在那之后,我也能够在没有 --force 的情况下推动。谢谢阿约
huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。
git push -u origin master
error: src refspec master does not match any.
为此,您需要按如下方式输入提交消息,然后推送代码:
git commit -m "initial commit"
git push origin master
成功推送给master。
我检查了它的工作。请忽略 -u 选项然后尝试
这里的问题似乎与 OP 的完全不同......但似乎包括我在内的许多人都有这个问题。
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
对我来说,我必须确保在服务器(附加在 ~/.ssh/authorized_keys)和 GitHub/Bitbucket(添加到我在 GitHub 上的 SSH 密钥中)正确配置了 公钥或 Bitbucket)——它们需要匹配。然后:
git add --all :/
git commit -am 'message'
git push -u origin master
huntsbot.com – 高效赚钱,自由工作
在我只添加了一个目录之后,我发现这发生在一个全新的存储库中。
一旦我添加了一个文件(例如一个自述文件),Git push 就很好用了。
这可能有效,因为 git 实际上并不跟踪目录,只跟踪文件。因此,如果目录为空,git 不会实际添加它。
OP 添加了一个文件(xx.php),因此在这种情况下这不是问题,即使在其他情况下这可能是一个问题,并且添加一个文件可以解决该问题。
这样一个令人沮丧的问题的简单解决方案。我正在测试 repos 的创建和克隆,并创建了空目录而不是文件。
8 年后,这让我有些头疼!
在我的情况下, 1--> git init 2---> git add origin....etc 3---> git git push -u origin master ===>然后我得到了上述错误。 ===>然后我执行了以下2个命令,它消失了。 ---> git add * ---> git commit -m "Some message" --->git git push -u origin master ===>对我来说工作得很好,就我而言。
huntsbot.com – 高效赚钱,自由工作
缺少或跳过 git add . 或 git commit 可能会导致此错误:
git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://yourusername@github.com':
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourusername/foobar.git'
要修复它,请重新初始化并遵循正确的顺序:
git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master
没错,业务端具体是git remote add __REMOTE_NAME__ __URL_OR_SSH__,上面的远程名称是“origin”
他们在他们的问题中添加并承诺,因此即使这对其他人有所帮助,这也不是问题所在。
但是,由于此处使用了 -u 选项,此答案确实有效。
git *create remote 是什么?
huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。
要修复它,请重新初始化并遵循正确的代码序列:
git init
git add .
git commit -m 'message'
git push -u origin master
一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会
当您在特定分支中并尝试推送另一个尚不存在的分支时,也会发生这种情况,例如:
$ git branch
* version-x # you are in this branch
version-y
$ git push -u origin master
error: src refspec master does not match any.
error: failed to push some refs to 'origin_address'
哈哈。我试图推送到原始主机,但该分支不存在。它被称为起源稳定。
-u 可能在这里有所帮助。
上面这种情况,问题当然是没有本地分支master,所以不能push。您要么想要推送现有分支,要么创建主分支然后推送它,如下所示:git checkout -b master; git push -u origin master;
当我拼错分支名称时,我才得到这个。
我当地的分支机构拼写为“sheduler”,而我正在做 git push origin scheduler。哈!一封信将在编程中杀死您。哈哈
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
确保您首先添加,然后提交/推送:
喜欢:
git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
我遇到了同样的问题,我使用了 --allow-empty:
$ git commit -m "initial commit" --allow-empty
...
$ git push
...
补充
此问题的主要原因之一是某些 Git 服务器(例如 BitBucket)在克隆新存储库时没有初始化其 master 分支。
这是唯一真正有效的。
huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。