【问题标题】:Git Push Heroku Master error with Rails使用 Rails 的 Git Push Heroku Master 错误
【发布时间】:2015-02-15 17:29:04
【问题描述】:

当我尝试 git push heroku master 命令时,我收到以下错误:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git push heroku master
To https://git.heroku.com/limitless-inlet-4477.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://git.heroku.com/limitless-inlet-4477.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这个存储库是昨天在 github 上建立的,名为 ninja_speak_app。在设置存储库时,我注意不要使用自述文件或许可证进行初始化。

当我执行 git pull 时,我得到以下信息:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git pull
Already up-to-date.

提交还显示所有内容都是最新的:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git commit -m "first commit"
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

编辑:运行 git push --force heroku master 会产生以下结果:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git push --force heroku master
Counting objects: 25701, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (25297/25297), done.
Writing objects: 100% (25701/25701), 104.98 MiB | 97.00 KiB/s, done.
Total 25701 (delta 322), reused 25668 (delta 309)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: Build stream timed out, reverting to polling....
remote: !   Timeout reached polling for results.
remote: 
To https://git.heroku.com/limitless-inlet-4477.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/limitless-inlet-4477.git'

我可以使用 --force 将代码升级到 heroku,但是对于为什么它仍然会出错有什么想法吗?

编辑2:

运行 git pull heroku master 产量:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git pull heroku master
warning: no common commits
remote: Counting objects: 69191, done.
remote: Compressing objects: 100% (45212/45212), done.
remote: Total 69191 (delta 17653), reused 68275 (delta 16751)
Receiving objects: 100% (69191/69191), 129.00 MiB | 884.00 KiB/s, done.
Resolving deltas: 100% (17653/17653), done.
From https://git.heroku.com/limitless-inlet-4477
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> heroku/master
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 673, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (594/594), done.
Writing objects: 100% (673/673), done.
Total 673 (delta 239), reused 0 (delta 0)
error: The following untracked working tree files would be overwritten by merge:
    db/development.sqlite3
    db/production.sqlite3
    db/test.sqlite3
    log/development.log
    log/production.log
    log/test.log
    tmp/cache/assets/C12/AE0/sprockets%2Fc558458ba9671201141a50f2240184c9
    ...
    ...
Aborting

Git push heroku master 然后产生:

matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git push heroku master
To https://git.heroku.com/limitless-inlet-4477.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/limitless-inlet-4477.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

【问题讨论】:

  • 您的git pull 已中止。要么在拉动之前提交你的工作,要么把它扔掉,或者stash

标签: ruby-on-rails git heroku github


【解决方案1】:

如果你确定你在做什么,你可以强制推送到 heroku:

git push --force heroku master

【讨论】:

  • 没有 --force 参数的任何方法?
  • IMO,您已经回滚了本地提交,然后您推送到 github,因此您的 heroku 存储库和本地/github 存储库不同步。为了解决这个对heroku的强制推送
【解决方案2】:

这意味着您的存储库中的代码比本地存储库中的代码更新。 您必须在本地合并您的更改:

git pull heroku master

然后你推:

git push heroku master

编辑(在您编辑之后):

试试git fetch origin

git pull --rebase

再推一次

【讨论】:

  • 已编辑问题,其中包含上述尝试产生的消息。有什么想法吗?
【解决方案3】:

以下是最终为我工作的:

我登录了我的 heroku 帐户并转到“部署”选项卡。从这里有一个“连接到 GitHub”选项,允许您手动链接两个帐户。帐户链接后,您可以在 heroku 帐户上搜索 GitHub 存储库。链接后,我选择了“手动部署”选项。自从这次手动部署以来,我已经能够毫无问题地使用 git push heroku master。

【讨论】:

  • 我将对此进行测试,因为回滚到以前的版本不起作用
【解决方案4】:

你需要跑

git pull heroku_app_name master

希望它有效。

【讨论】:

  • matt@matt-desktop:~/Documents/Ruby/rails_projects/ninja_speak_app$ git pull limitless-inlet-4477 master fatal: 'limitless-inlet-4477' 似乎不是 git 存储库致命: 无法从远程存储库中读取。请确保您拥有正确的访问权限并且存储库存在。
  • 你需要做: git remote add heroku git@heroku.com:project.git 其中 git url 在你的 heroku 应用设置页面中找到。希望它现在有效。
  • 运行这个命令: git remote add heroku git@heroku.com:limitless-inlet-4477.git 但在运行 git 时仍然得到相同的错误描述(即“无法推送一些参考”)推heroku大师
【解决方案5】:

如果您使用过 - 捆绑安装——不生产 并没有做 - git commit -am "使用捆绑安装"

那么你更有可能面临这样的问题。

如果你已经运行 -捆绑安装--不生产 然后按照以下步骤即可解决问题:

  1. 打开您的 Gemfile 并将您的 Ruby 版本放入其中:
    • 红宝石'2.2.1'
  2. $ git commit -am "更新了 Gemfile"
  3. $ git push heroku master

这解决了问题。

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 2019-10-14
    • 2013-02-03
    • 2016-12-26
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多