我想要make push并得到错误:src refspec master不匹配任何

时间:2014-10-27 20:03:15

标签: git heroku repository hosting

我在Heroku上主持。我想推动一下:

git push master Heroku

我收到了消息:

error: src refspec master does not match any.
error: failed to push some refs to 'git@heroku.com: etc ...'

21 个答案:

答案 0 :(得分:45)

这对我有用: -

git push heroku HEAD:master

答案 1 :(得分:39)

我遇到过你遇到的问题。 我像这样解决了这个问题

  1. make file whatever
  2. commit
  3. $ touch readme
    
    $ git add .
    
    $ git commit -m "init"
    
    $ git push heroku master
    
  4. 我不知道为什么。

答案 2 :(得分:24)

乍一看,您的masterHeroku参数看起来错误,因为git push的第一个参数应该是远程存储库的名称,第二个参数应该是是refspec(通常是分支)。您更有可能拥有一个名为master的分支和一个名为Heroku的远程分支。但是如果是这种情况,我希望你能得到一个不同的错误信息,例如:

fatal: 'master' does not appear to be a git repository
fatal: Could not read from remote repository.

您看到的错误消息表明没有本地master分支。如果您尚未提交任何提交,那将是这种情况,因为git在第一次提交之前不会创建分支。您可以通过运行来检查:

git show-ref

如果您有主分支,您应该会看到包含refs/heads/master的行。如果没有,请尝试运行:

git commit -m 'Initial commit'

您还可以找到您可用的遥控器:

git remote -v

如果您有一个名为Heroku的遥控器,您应该看到类似的内容:

Heroku  git@heroku.youraccount:yourproject.git (fetch)
Heroku  git@heroku.youraccount:yourproject.git (push)

答案 3 :(得分:16)

当我不在我当地的主分支机构时尝试推送到Heroku时出现此错误。

我用

解决了这个问题

git push heroku my_branch_name:master

并将my_branch_name替换为我所使用的git分支的名称。我想这告诉Heroku在Heroku的主分支上接收这个本地分支。

答案 4 :(得分:8)

在我的情况下,这发生是因为我没有什么可推动的。我忘了做一个" git add"第一。我一做了一个" git add"那么" git commit"对于实际内容,推动工作正常。

答案 5 :(得分:7)

实际上,我需要创建一个文件,否则提交是空的。

touch readme.md

答案 6 :(得分:5)

尝试一下:

git push heroku main

Source here

答案 7 :(得分:3)

这是一个迟到的答案,但可能对某人有帮助。

而不是:

git push master Heroku

尝试:

git push heroku master

答案 8 :(得分:3)

从 2020 年 10 月 1 日开始,当您创建新存储库时,Github 默认使用“main”而不是“master”作为默认分支名称。如果您已遵循所有常规步骤,那么请查看您当前的分支(“git 分支”)并确保这不会让您感到困惑(就像我所做的那样)。

https://www.zdnet.com/article/github-to-replace-master-with-main-starting-next-month/

答案 9 :(得分:2)

我按照heroku的分步指南来到这里。对我来说,问题是在存储库中创建最小文件,提交它然后再次推送到heroku之后解决的。

答案 10 :(得分:2)

如果您正在写->

"git push master Heroku"

并出现类似->

的错误

错误:src refspec master不匹配。 错误:无法将一些引用推送到“ git@heroku.com:等”

然后在hyper->

中首先输入
git commit -m 'Initial commit'

,然后出现类似错误

email ,name is not found or something like that

然后您可能无法登录heroku页面。

在超级通用行或您使用的任何cmd行中的第一种写入类型

git config --global user.email "yourgmail address"

然后按Enter,然后键入

git config --global user.name "Your Name"

然后它将正常工作。 如果要检查它是否可以正常工作,请键入

git commit -m 'initial commit'

需要一些时间,然后编写代码

git push heroku master

-------------------------现在一切都解决了-TADADAAAA ---------------- ---------- 注意-请在上面的代码中输入您的电子邮件地址和用户名...

答案 11 :(得分:1)

这对我有用。

git config --global user.email" you@example.com"

git config --global user.name"您的姓名"

答案 12 :(得分:1)

首先将更改推送到远程分支,然后再推送到heroku

git push origin master
git push heroku master 

如果要将非主分支的分支推送到heroku

git push origin development_branch
git push heroku development_branch:master

答案 13 :(得分:0)

可能你不在本地机器上的分支 master 上。

结帐到 master 分行/或 main 分行

然后做

git push heroku master

答案 14 :(得分:0)

对我来说,我需要先提交文件

git commit -m "First commit adding files"

然后

git push heroku master

还要检查一下,你的主分支是否是main然后你需要使用

git push heroku main

同样,如果您想推送任何不是 master 的分支,请使用

git push heroku <branch_name>

答案 15 :(得分:0)

For an existing Heroku app

heroku git:remote -a <APP-NAME>

答案 16 :(得分:0)

对我来说,问题是有两个锁文件 package-lock.jsonyarn.lock。删除其中之一解决了问题。这是错误信息:

 !     Two different lockfiles found: package-lock.json and yarn.lock
       Both npm and yarn have created lockfiles for this application,
       but only one can be used to install dependencies. Installing
       dependencies using the wrong package manager can result in missing
       packages or subtle bugs in production.
       - To use npm to install your application's dependencies please delete
         the yarn.lock file.
         $ git rm yarn.lock
       - To use yarn to install your application's dependences please delete
         the package-lock.json file.
         $ git rm package-lock.json

答案 17 :(得分:0)

我遇到了同样的问题。 对我来说,发生问题是因为我没有正确登录git。 在将代码推送到master分支之前,必须首先使用命令git commit -m "My first commit"进行首次提交。尝试执行此操作时,您可能已收到此响应(就像我得到的那样):

git:致命,无法自动检测电子邮件地址(“错误一些” 电子邮件”)。

如果这是您得到的答复,则现在必须使用以下命令输入所需的git电子邮件和用户名:

git config --global user.email "you@example.com"

git config --global user.name "Your Username"

完成此操作后,再次尝试使用push命令

git push heroku master

现在应该可以工作了。

答案 18 :(得分:0)

我的终端上的错误 “ testpry git:(ft-heroku-deployment-170679745)git push heroku master 错误:src refspec master不匹配。 错误:无法将一些引用推送到'https://git.heroku.com/guarded-taiga-41995.git'“

解决方案:您需要检查正在处理的分支的名称。在这种情况下,它是“ ft-heroku-deployment-170679745”

右推命令为$ git push heroku ft-heroku-deployment-170679745

答案 19 :(得分:0)

只需添加一个问题的答案

您面临此错误,因为只有在提交本地存储区后,Git才会创建master分支。如果您只是初始化存储库,则没有主服务器。

那您如何解决呢?

只需在回购中添加并提交至少一项更改,然后重新运行push命令即可。您可以添加并提交一个简单的.gitignore文件,以及其他答案中所述的

答案 20 :(得分:0)

来晚了,但就我而言:

git push git@heroku.com:应用名称 .git主版本

帮了我大忙!使用 appname 作为您的heroku应用程序的名称