"Heroku"似乎不是一个git仓库。

297

当我尝试将我的应用程序推送到Heroku时,我收到以下响应:

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

Please make sure you have the correct access rights
and the repository exists.

我已经尝试过使用'heroku keys:add',但仍然出现相同的结果。 我的 GitHub 帐户已经有一个 SSH 密钥。


你使用了什么命令来推送代码?在此之前,你执行了哪些步骤? - StickMaNX
3
查看 git remote -v 的输出,了解你设置了哪些远程仓库。 - John Beynon
1
确保你在正确的目录下。那就是我的问题所在。 - tmthyjames
1
@tmthyjames - 没错,这也是我的问题,谢谢! - andy mccullough
1
这个问题是由于您的本地项目没有与Heroku上的项目链接而导致的,您应该使用heroku git:remote -a <yourapp>命令添加它,然后就可以继续了。 - Kibiku Brian
26个回答

655
要将Heroku应用程序添加为Git远程仓库,您需要执行heroku git:remote -a yourapp命令。
来源:使用Git部署

13
如果你克隆了这个仓库,这就是解决方案。 - JGallardo
4
在添加有效远程后,如果您尝试从子目录部署,则注意 git push heroku master 将失败。必须使用有效的 package.json 和 .git 文件夹从根目录执行 Heroku 部署,详情请参见 https://dev59.com/tVkT5IYBdhLWcg3wZuoA。 - Junior Mayhé
10
我想补充一下,yourapp 是指 Heroku 应用的名称,但这个名称可能不同于你在 Git 或本地使用的应用名称等。 - Lee McAlilly
2
这个错误是由本地存储库和heroku存储库之间缺乏映射/链接引起的。要建立链接,请运行以下命令heroku git:remote -a yourAppName。yourAppName 应该是您在Heroku上的应用名称。 - chanduthedev
对我有用,我不得不在我的电脑上重新安装Heroku,这是必须的才能再次修复链接。 - Nick the Community Scientist
显示剩余3条评论

74

您可以尝试在根目录中执行以下操作:

// 初始化项目的git配置,添加更改并进行提交

git init
git add .
git commit -m "first commit"

// 创建 Heroku 应用并将其推送到 Heroku

heroku create
git push heroku master

不确定您在哪个阶段。在Heroku上部署应用程序时,不一定需要GitHub,只需要Git即可。希望这可以帮到您!


2
这对我有用。只需要再次运行 heroku create 即可。由于某种原因,第一次没有创建 git 远程。 - Joshua Dance
2
在推送之前,您需要添加“heroku git:remote -a yourapp”。 - jsingh

60

首先,确保您已登录Heroku:

heroku login 

输入您的凭据。

在将Git存储库克隆到新计算机上时,经常会出现此错误。 即使您的Heroku凭据已经保存在该计算机上,克隆的存储库与本地Heroku之间仍然没有相互关联。 要解决此问题,请进入克隆的存储库的根目录并运行以下命令:

heroku git:remote -a yourapp

9
对于初学者来说,需要注意的是,在Heroku仪表板的设置中,“yourapp”是您的应用程序名称。 - nkhil
谢谢,@nkhil。我花了几个小时才找到正确的名称。我一直写错了,导致出现错误。 - Safin Ghoghabori

19

根据Heroku官方文章的指示:

初始化GIT

$ cd myapp
$ git init

$ git add .
$ git commit -m "my first commit"

然后使用以下命令创建(初始化)Heroku应用程序:

$ heroku create YourAppName

最后添加git远程:

$ heroku git:remote -a YourAppName

现在,您可以使用以下方式安全地部署您的应用程序:

$ git push heroku master

你应该等待一段时间,看看在部署过程中是否会出现控制台上的任何错误/中断。有关详细信息,请参阅Heroku文章


18

heroku git:remote -a YourAppName


似乎与现有答案完全相同,但没有任何上下文。考虑为那些答案投赞成票,而不是添加一个同样的答案。 - ggorlen

17

你忘记将你的应用程序名称与Heroku链接。这是一个非常常见的错误。 如果你的应用程序没有被创建,那么请使用:

heroku create (optional app name)

否则:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

最后一行不起作用,我最终执行了 git push heroku main - West

12

请按照以下步骤操作:

$ heroku login

创建一个新的 Git 仓库
在新或现有目录中初始化 Git 仓库

$ cd my-project/
$ git init
$ heroku git:remote -a appname

部署您的应用程序
通过 Git 将您的代码提交到仓库并将其部署到 Heroku。

$ git add . 
$ git commit -am "make it better"
$ git push heroku master

现有的 Git 存储库
对于现有的存储库,只需添加 Heroku 远程地址即可

$ heroku git:remote -a appname

错误:---> 应用程序与构建包不兼容:https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz ... 我不理解,哪里出错了? - KingRider
@KingRider,请检查您正在部署的应用程序。如果您正在部署Python应用程序,则无需在Requirement.txt文件中指定Python。 - MD Shahrouq

4
如果出现此错误,则是因为没有名为Heroku的远程。 当您进行Heroku创建时,如果git远程不存在,则我们会自动创建一个(假设您在git存储库中)。 要查看您的远程,请键入:“git remote -v”。# 对于名为“appname”的应用程序,您将看到以下内容:
$ git remote -v
heroku git@heroku.com:appname.git (fetch)
heroku git@heroku.com:appname.git (push)

如果您看到您的应用程序的远程,您只需使用“git push master”并替换为实际的远程名称即可。
如果缺少,则可以使用以下命令添加远程:
git remote add heroku git@heroku.com:appname.git

如果您已经添加了名为Heroku的远程,您可能会遇到以下错误:

如果您已经添加了名为Heroku的远程,您可能会遇到以下错误:

fatal: remote heroku already exists.

那么,现在使用上述命令删除现有的远程,并将其重新添加:

git remote rm heroku

希望这能帮到你...

4

需要检查.git文件夹中的配置文件。如果缺少Heroku参数,则会出现此错误:heroku param。

[remote "heroku"]
    url = git@heroku.com:`[Your heroku app].git
    fetch = +refs/heads/*:refs/remotes/heroku/*

你创建的Heroku应用程序所在的本地计算机文件目录中应该有.git文件夹。例如,C:\Users\You\Your app.git

希望这能帮到你。


4

我的问题是我使用了git(而不是heroku git)来克隆应用程序。然后我需要执行以下步骤:

git remote add heroku git@heroku.com:MyApp.git

请记得将MyApp更改为您的应用程序名称。

然后我可以继续进行:

git push heroku master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接