【问题标题】:git: error: src refspec master does not match any [duplicate]git:错误:src refspec master 不匹配任何 [重复]
【发布时间】:2012-05-21 01:41:17
【问题描述】:

将 git 存储库克隆到目录“hggit”并设置远程源后

mbm:hggit my name$ git remote add origin git@code.getpantheon.com:"mystringhere"

编辑文件后,我提交了更改(位于子目录中)

mbm:handelgroup michaelmausler$ git commit -m "first commit"
[master 5a29bc8] first commit
 1 files changed, 2 insertions(+), 2 deletions(-)

然后我尝试推送文件更改并收到以下错误

mbm:hggit myname$ git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'git@code.getpantheon.com:"mystringhere"'

【问题讨论】:

  • 看起来您没有一个名为“master”的 ref。尝试运行“git show-ref”以查看您拥有的参考文献。也许你的意思的分支被称为别的东西。
  • 我做了“git remote add origin”我应该做“git remote add master”吗?
  • 这可能是正确的做法。您需要验证的是名为“master”的分支是否存在于名为“origin”的远程,该分支存在于您的本地存储库中,并且您已提交给该分支。尝试运行 gitk。
  • 我克隆了它,所以分支确实存在
  • 当你运行“git status”时它会说什么?

标签: git


【解决方案1】:

如果git status 确实表明您确实有一个活动的主分支(因为您毕竟确实进行了第一次提交),请检查您在定义远程时是否有任何拼写错误:请参阅“Push origin master error on new repository”:

git remote rm origin

然后我重新创建了来源,确保输入的来源名称与我的来源的拼写方式完全相同。

git remote add origin git@....

您可以通过以下方式进行简化:

git remote set-url origin git@....

然后就可以在本地分支和远程跟踪分支之间建立跟踪链接了:

git push -u origin master

您也可以将其推送到 origin 上的不同分支:

git push -u origin master:anotherBranch

【讨论】:

    【解决方案2】:

    使用 git branch -m 将本地存储库重命名为要推送到远程的相同名称

    【讨论】:

      【解决方案3】:

      您需要确保分支名称在本地和远程相同。所以在远程有master 分支是不够的。你在本地也需要这个分支。

      【讨论】:

        猜你喜欢
        • 2011-08-13
        • 2014-02-11
        • 2023-01-30
        • 2022-07-14
        • 2012-09-09
        • 2017-03-05
        • 1970-01-01
        • 2018-01-28
        相关资源
        最近更新 更多