推送到远程仓库时出现Git push错误

12

在尝试将更改推送到远程存储库时,我遇到以下错误。

命令

git push heroku

错误

致命错误:您正在将更改推送到不是当前分支'master'的上游的远程 'heroku',而没有告诉我要推送哪个远程分支来更新。

请问有人可以提供可能导致此错误的原因吗?

3个回答

22

我怀疑您没有配置远程连接。

推送需要知道要推送什么和在哪里推送。通常,人们会配置 git 自动跟踪分支(本地-远程配对)。

尝试推送:git push heroku master 假设 master 是您的本地分支,heroku 是一个远程分支。

另外,如果想查看是否已经配置了远程连接,可以列出您的配置或编辑它:

git config -l/-e

由于 Felix 写在我前面,我将扩展我的答案来设置远程连接:


伙计,你是指以下配置吗?branch.master.remote=origin - misguided
@Misguided - 你引用的那行告诉你,分支master已经映射到"origin"远程库。很可能你也会看到remote.origin.url=... - 这告诉你在哪里查找你的远程库,并且很可能包含"heroku"。我刚刚添加了一个链接,以便更详细地解释它。如果你有进一步的问题,请告诉我。 - LAFK says Reinstate Monica

7
git config -l 命令会显示以下内容:
[branch.master.remote] 和 [branch.master.merge]
实际上,它们是 git pull/push 的默认行为,例如 git push == git push [branch.master.remote] [branch.master.merge]
默认情况下,[branch.master.remote] = origin,[branch.master.merge] = master,因此在这种情况下 git push = git push origin master
但是,在您的情况下,您的 origin [branch.master.remote] 不是 heroku,而且 git 不知道您要推送到哪个 heroku* 分支,所以您必须指定它给 git。

以下是我的配置:branch.master.remote=origin branch.master.merge=refs/heads/master - misguided
如果你能使用这个命令:git branch --upstream heroku/master 来改变 branch.master.remote 和 branch.master.merge,那么你就可以使用 git push heroku 或者 git push 而不是 git push heroku master - loql
我遇到了以下错误 git branch --upstream heroku error: unknown option 'upstream' - misguided
1
尝试使用以下命令:git branch master --set-upstream heroku/master - loql

-4

这可能比那更简单,尝试运行 heroku login 命令,如果 heroku 不被识别为命令,那么你就没有安装 heroku 工具包,如果是这种情况,请按照该网站上的 https://toolbelt.heroku.com/debian 说明安装适用于您操作系统的工具包。


这完全不是OP所问的,他们只需要将heroku远程添加到他的git仓库中即可。这并不需要使用工具包。 - user2062950

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