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

Mar*_*ark 32 git hosting repository heroku

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

git push master Heroku
Run Code Online (Sandbox Code Playgroud)

我收到消息:

error: src refspec master does not match any.
error: failed to push some refs to 'git@heroku.com: etc ...'
Run Code Online (Sandbox Code Playgroud)

vin*_*eet 53

这对我有用: -

git push heroku HEAD:master
Run Code Online (Sandbox Code Playgroud)

  • 如果您编辑它以解释*为什么*您的版本有效(`g​​it push <remote> <local ref>:<remote branch>`语法)而OP的版本没有,那么这个答案会更有用. (10认同)
  • 当 Heroku 指南本身说使用另一个而另一个没有时,知道为什么会这样会特别有用。:| (2认同)

jij*_*iji 43

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

  1. make file
  2. 承诺
  3. $ touch readme
    
    $ git add .
    
    $ git commit -m "init"
    
    $ git push heroku master
    
    Run Code Online (Sandbox Code Playgroud)

我不知道为什么.

  • 这个解决方案的“git push heroku main”对我有用 (11认同)

Ste*_*eve 25

乍一看,它看起来像你已经得到了你masterHeroku参数南辕北辙,因为第一个参数git push应该是远程仓库的名字,第二个是的Refspec(通常一个分支).您更有可能调用一个分支master并调用一个远程Heroku.但我希望你得到一个不同的错误信息,如果是这种情况,如:

fatal: 'master' does not appear to be a git repository
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

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

git show-ref
Run Code Online (Sandbox Code Playgroud)

refs/heads/master如果您有主分支,您应该看到一行.如果没有,那么试试运行:

git commit -m 'Initial commit'
Run Code Online (Sandbox Code Playgroud)

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

git remote -v
Run Code Online (Sandbox Code Playgroud)

如果你有一个名为Heroku的遥控器你应该看到类似的东西:

Heroku  git@heroku.youraccount:yourproject.git (fetch)
Heroku  git@heroku.youraccount:yourproject.git (push)
Run Code Online (Sandbox Code Playgroud)

  • 另外,对于仍然想知道的人,也可能是您使用了 master 而不是 main...或者反过来 (3认同)

小智 22

尝试这个:

git push heroku main

来源在这里


use*_*295 18

当我不在我的本地主分支上时尝试推送到Heroku时出现此错误.

我解决了

git push heroku my_branch_name:master

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


Tim*_*olt 8

在我的情况下,这发生是因为我没有什么可推动的.我先忘了先做一个"git add".一旦我为实际内容做了"git add"然后"git commit",推送工作正常.


Ang*_* M. 7

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

而不是这个:

git push master Heroku
Run Code Online (Sandbox Code Playgroud)

尝试:

git push heroku master
Run Code Online (Sandbox Code Playgroud)


cso*_*akk 7

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

touch readme.md
Run Code Online (Sandbox Code Playgroud)