未能将一些参考资料推送到 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的主要内容,如果未能解决你的问题,请参考以下文章