未能将一些参考资料推送到 git@heroku.com

Posted

技术标签:

【中文标题】未能将一些参考资料推送到 git@heroku.com【英文标题】:failed to push some refs to git@heroku.com 【发布时间】:2012-04-05 08:51:54 【问题描述】:

当我尝试将我的文件推送到 heroku 代表时出现此错误。

我已经在 gitconfig 中设置了 autocrlf = false 但是这个问题仍然存在。 我也试过这个解决方案here 但没有收获。

任何建议都可能表明 git 仍在使用旧的配置设置,如果是,那么我该如何刷新它。

谢谢

C:\myapp>git push heroku
To git@heroku.com:myapp.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:myapp.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

同时尝试git pull heroku master

warning: no common commits
remote: Counting objects: 215, done.
remote: Compressing objects: 100% (147/147), done.
remote: Total 215 (delta 82), reused 132 (delta 62)Receiving objects:  79% (170/

Receiving objects: 100% (215/215), 1.49 MiB | 107 KiB/s, done.
Resolving deltas: 100% (82/82), done.
From heroku.com:myapp
 * branch            master     -> FETCH_HEAD
Auto-merging start.php
CONFLICT (add/add): Merge conflict in start.php
Auto-merging src/appinfo.txt
CONFLICT (add/add): Merge conflict in src/appinfo.txt
Auto-merging result.php
CONFLICT (add/add): Merge conflict in result.php
Auto-merging landhere.php
CONFLICT (add/add): Merge conflict in landhere.php
Automatic merge failed; fix conflicts and then commit the result.

同时尝试git push heroku -f

F:\myapp>git remote add heroku git@heroku.com:myapp.git
F:\myapp>git push heroku

Counting objects: 41, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (40/40), done.
Writing objects: 100% (41/41), 1.36 MiB | 12 KiB/s, done.
Total 41 (delta 0), reused 0 (delta 0)

-----> Heroku receiving push
 !     Heroku push rejected, no Cedar-supported app detected

To git@heroku.com:myapp.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:myapp.git'

【问题讨论】:

【参考方案1】:

这个错误意味着上游仓库已经提交了如果你推送将会丢失的提交。先做一个“git pull”合并,然后再push。

【讨论】:

它在第一次运行时帮助了我,但现在我又遇到了这个错误,即使拉出来也不能解决它,有没有办法清除所有内容,这样我就可以推我的新内容没有任何问题? 真的要删除别人推送的内容吗?顺便问一下,您确定您的git pull 工作正常吗? 如果你是唯一一个使用 repo 的人,那么你可以使用git push -f 来推送当前提交,无论它与上游分支的关系如何。 "(pre-receive hook denied)" 表示 pre-receive hook 不接受你的提交。 “Heroku 推送被拒绝,没有检测到 Cedar 支持的应用程序”上面的行清楚地说明了原因。我认为您应该尝试追踪具体问题,如果这不起作用,请发布另一个更具体的问题。您的后续问题实际上是关于 Heroku,而不是 git。祝你好运。 我遇到了与帖子中描述的相同的问题。 git pull 对我不起作用。【参考方案2】:

在 Heroku 中,您可能会遇到推送到 master 分支的问题。 我只需要使用

开始一个新分支
git checkout -b masterbranch

然后使用

推送
git push heroku masterbranch

请按上述方法尝试!

【讨论】:

【参考方案3】:

尝试使用

git push heroku main

而不是

git push heroku master

原因:因为 git 的默认起始分支已从 master 更改为 main,这就是您的 git 命令无法识别 master 分支并给您 ref 错误的原因

【讨论】:

【参考方案4】:

执行这个:

$ rake assets:precompile
$ git add .
$ git commit -m "Add precompiled assets for Heroku"
$ git push heroku master

来源:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

【讨论】:

【参考方案5】:

我是唯一一个在我的应用程序上工作的人,并且只能在我的桌面上工作,所以我设法获得高于 dev 的 heroku 存储库的可能性没有意义。但!我最近让 Heroku 支持代表查看了我的 heroku 帐户中涉及 gem 安装的缓存问题,他更改了一些内容,导致 heroku 返回与上面列出的相同的错误。只需一个git pull heroku master。然后我发现了代表的微小变化并自己恢复了它。

【讨论】:

【参考方案6】:

我遇到了同样的问题,解决办法是

在我的分支中,称为“testBranchSuper”

我用

git checkout -b main

然后我用

git push heroku main

【讨论】:

【参考方案7】:

如果您想在 git 存储库上推送提交,请确保您已合并来自其他分支的所有提交。

合并后如果无法push commit,使用push命令加上-f

git push -f origin 分支名称

origin 是远程仓库的名称。

【讨论】:

Github 从 Master 分支更改为 main ... 所以在部署时 .. 使用 git push heroku main【参考方案8】:

确保你推动的是正确的分支。我不在master 上,一直想知道它为什么抱怨:P

【讨论】:

谢谢!就我而言,这是一个错字【参考方案9】:

对于通过 Google 搜索到达此处并显示相同错误消息的任何人。另请注意,如果您使用 sqlite3

,可能会遇到问题

https://devcenter.heroku.com/articles/sqlite3

【讨论】:

【参考方案10】:

在我的情况下,清除 buildpacks 有效 heroku buildpacks:clear

【讨论】:

【参考方案11】:

如果我不是唯一使用某人的“全栈 OVERMEGASUPER EASY AND COOL”Udemy 课程的初学者,我正在写这篇文章(并且为了添加到可能的解决方案列表中)。我有以下错误:

   remote: -----> Build
remote:        Running build
remote:        
remote:        > shop@1.0.0 build /tmp/build_cb8c8cb5
remote:        > cd frontend && npm install && npm run build
remote:
remote: sh: 1: cd: can't cd to frontend
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! errno 2
remote: npm ERR! shop@1.0.0 build: `cd frontend && npm install && npm run build`
remote: npm ERR! Exit status 2
remote: npm ERR!
remote: npm ERR! Failed at the shop@1.0.0 build script.
remote: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

remote: !       Push rejected to shop.
remote:
To https://git.heroku.com/shop.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/shop.git'

我几乎尝试了其他用户提供的所有内容。尽管如此,没有什么能解决我的问题。 然后,我终于爱管闲事地查看日志(出于某种原因,我立即求助于互联网)。

解决方法如下:

    打开 package.json 并删除“脚本”中的“构建”行; git 添加。 git commit -你的消息- git push heroku main

这一次,构建成功。这是一个非常愚蠢的错误。终端告诉我出了什么问题,但我没有注意到。

【讨论】:

请说明问题所在以及您的答案为何有效 是的,我也是。请解释它是如何工作的。我也遇到过这个问题,但你的回答有效。 @vishal 我想这与“构建”脚本的设置方式错误有关。就我而言,作为构建脚本的第一步,我想通过“cd”转到另一个目录,但它无法实现。简而言之,请注意您在脚本中设置的说明。 @ArtemNovikov Igot 新错误。 heoku 日志--tail。错误 h10、h12、h13。 @vishal 我也有这些问题。它们与 package.json 无关【参考方案12】:

我按照以下步骤操作,它对我有用。

请复制您的(本地)更改。 fetch heroku reset --hard heroku/master 然后尝试“git push heroku”。

【讨论】:

虽然此方法可能有效,但您忘记提及恢复您重置的更改。此外,接受的答案应该会更好,并且几乎相同,只是它会维护您的更改。【参考方案13】:

您似乎不是完全最新的。你需要做一个 git pull 和“--rebase”或者让它合并到你的集合中。

在此之后,您应该能够推送,因为这将是一个不会删除历史记录的“快进”更改。

编辑:示例命令列表

git pull
git push

【讨论】:

正如我上面所说,拔出 hel 在第一次运行时为我解决了这个问题,但现在我再次收到此错误,即使拔出也无法解决,有没有办法清除所有内容行,这样我就可以毫无困难地推送我的新内容?请帮忙。 您能否在说明中更具描述性,例如使用带有示例的代码块【参考方案14】:

另一个问题可能来自反引号的使用,编译器不支持反引号(uglifier)。

要修复它,请将config.assets.js_compressor = :uglifier 替换为config.assets.js_compressor = Uglifier.new(harmony: true)。

学分:https://medium.com/@leog7one/how-to-fix-execjs-runtimeerror-syntaxerror-unexpected-character-on-heroku-push-deployment-c0b105a64655

【讨论】:

【参考方案15】:

这可能发生还有一个更微妙的原因。如果您在应用中添加了一些新包或更新了现有包,请记住同时更新您的 requirements.txt 文件。

pip freeze > requirements.txt

然后您可以继续使用通常的流程来推送您的存储库

git add .
git commit -m "Some changes"
git push heroku master

【讨论】:

【参考方案16】:

对我来说,它在设置全局用户名/电子邮件后开始工作。

设置您的全局用户名/电子邮件配置: 1.打开命令行。 2. 设置您的用户名:

git config --global user.name "FIRST_NAME LAST_NAME"
    设置您的电子邮件地址:
git config --global user.email "MY_NAME@example.com"
    提交
git commit -m "comment"
    推送到heroku
git push heroku master

轰!它有效(至少对我来说)

【讨论】:

【参考方案17】:

只需将分支切换到主分支,它肯定会工作,然后从 Heroku 远程删除项目。从本地删除所有分支并仅使用一个“主”。

供参考:https://help.heroku.com/O0EXQZTA/how-do-i-switch-branches-from-master-to-main

【讨论】:

【参考方案18】:

对我来说,推动操作的力量有效。

git push heroku master --force

案例 - 当从当前分支推送提交被删除(提交被推送到远程存储库)。

【讨论】:

【参考方案19】:

我收到此错误是因为我在 requirements.txt 文件中添加了一行错误:

simplejson=2.6.2

只有一个=,应该有两个:

simplejson==2.6.2

更正此错误。

【讨论】:

文本文件中的错误不太可能导致 git 错误:Git 不会解释文件的内容(除了其配置文件)。可能发生了其他事情 @PanMan 我的错误不是 git 错误,而是 Heroku 错误。我只是在这里发帖以防它可能对其他人有所帮助。【参考方案20】:

这可能是由于 yarn.lock 文件过时

只需运行以下命令

yarn install
git add yarn.lock
git commit -m "Updated Yarn lockfile"
git push heroku master

【讨论】:

原帖没有提到纱线或javascript @AnnKilzer 原帖也没有提到 python。但是您可以在答案中找到与 python 相关的解决方案。以我的经验,yarn.lock 文件是罪魁祸首。我只是想通过提供对我有用的解决方案来提供帮助。【参考方案21】:

就我而言,我的包名无效。我无法立即看到错误代码,因为我没有向上滚动足够远,但错误是:

remote:        $ NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client
remote: npm ERR! code EINVALIDPACKAGENAME // <-- this was hard to find
remote: npm ERR! Invalid package name "react-loader-spinne  r": name can only contain URL-friendly characters

【讨论】:

【参考方案22】:

我遇到了同样的问题,我通过这样做解决了它: heroku config:set DISABLE_COLLECTSTATIC=1 这是 python 3.7 上的一个 django 项目

【讨论】:

【参考方案23】:

我在 heroku 上部署 django 应用程序时遇到了这个问题。

在我的例子中,requirements.txt、Procfile 和 runtime.txt 文件存在于一个子目录中。将它们移动到存储库的根目录即可解决问题。

Heroku 专门在根目录中寻找 requirements.txt 来设置 python 环境。


附注:

如果heroku无法访问到驻留在子目录中的wsgi文件,请参考下面的线程解决它-

How can I modify Procfile to run Gunicorn process in a non-standard folder on Heroku?

【讨论】:

【参考方案24】:

另外,请确保您的分支是干净的,并且没有任何未暂存的内容 你可以检查 git status 存储或提交更改 然后运行命令

【讨论】:

【参考方案25】:

如果您的 heroku 项目根目录与您的 git 分支根目录不同,请使用:

git subtree push --prefix path/to/root heroku master

【讨论】:

【参考方案26】:

我有类似的问题,本地构建工作正常,但是当我将分支推送到 heroku 时,它会无法构建。问题是我的 package.json 中有一些 devDependencies 在 npm install 期间没有安装,这导致我的构建失败。

如果您需要在不同的 buildpack 中或在运行时访问在 devDependencies 下声明的包,则可以设置 NPM_CONFIG_PRODUCTION=false or YARN_PRODUCTION=false 以跳过修剪步骤。

你也可以将你的 devDependencies 移动到依赖项中......

【讨论】:

【参考方案27】:

当我尝试git pull heroku master 时,我收到错误fatal: refusing to merge unrelated histories

所以我尝试了git pull heroku master --allow-unrelated-histories,它对我有用

【讨论】:

【参考方案28】:

我正在关注this tutorial from freeCodeCamp 并遇到了同样的问题。

$ git push heroku master 不再有效,因为GitHub is using more inclusive language as of October 2020 并将其分支语言更改为使用 main 而不是 master

这个命令可以代替:

$ git push heroku main

【讨论】:

【参考方案29】:

就我而言,我已经删除了package-lock.json 文件。然后git push heroku master 命令工作正常

【讨论】:

以上是关于未能将一些参考资料推送到 git@heroku.com的主要内容,如果未能解决你的问题,请参考以下文章

shared_ptr 未能推送到向量

推送到Heroku时Ruby on Rails错误

git错误:无法将一些参考推送到远程

通过 CI runner 将文件推送到 gitlab-ci

如何使用 Google Cloud Messaging 将通知推送到 iOS

使用 ADO.NET 将数据表从内存推送到 SQL Server