用Rails推送Heroku Master错误

时间:2022-12-19 20:39:18

When I attempt the git push heroku master command I get the following error:

当我尝试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.

This repository was set up yesterday on github and is called ninja_speak_app. While setting up the repository I was careful not to initialize with a readme file or license.

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

When I do a git pull I get the following:

当我做一个git pull我得到以下内容:

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

Commit also shows everything is 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

Edit: running git push --force heroku master yields the following:

编辑:运行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'

I'm able to get code up to heroku using --force but any thoughts on why it still errors out?

我可以使用--force获取代码到heroku,但任何想法为什么它仍然出错?

Edit2:

EDIT2:

Running git pull heroku master yields:

运行git pull heroku master yield:

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 then yields:

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.

5 个解决方案

#1


5  

If you are sure of what you're doing you can force the push to heroku:

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

git push --force heroku master

#2


5  

That means you have code in your repository newer than the code in your local repository. You have to merge your changes locally :

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

git pull heroku master

then you push :

然后你推:

git push heroku master

EDIT (following your edit) :

编辑(编辑后):

try git fetch origin

尝试git fetch origin

git pull --rebase

push again

再推一次

#3


1  

Here is what ended up working for me:

以下是最终为我工作的内容:

I logged into my heroku account and went to the 'Deploy' tab. From here there is a 'Connect to GitHub' option which will allow you to manually link the two accounts. After the accounts are linked you can search for the GitHub repo on the heroku account. Once linked, I chose the 'manual deploy' option. Since this manual deploy I've been able to use git push heroku master without issue.

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

#4


0  

You need to run

你需要跑

git pull heroku_app_name master

Hope it works.

希望它有效。

#5


0  

If you have used - bundle install --without production and did not do - git commit -am "installed using bundle"

如果您已经使用 - bundle install - 没有生产而没有 - git commit -am“使用bundle安装”

then you are more likely to face such an issue.

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

If you have already run -bundle install--without production then follow the following steps and you can resolve the problem:

如果您已经运行-bundle install - 没有生产,请按照以下步骤操作,您可以解决此问题:

  1. Open your Gemfile and put your Ruby version in it:
    • ruby '2.2.1'
    • 红宝石'2.2.1'
  2. 打开你的Gemfile并将你的Ruby版本放入其中:ruby'2.2.1'
  3. $ git commit -am "updated the Gemfile"
  4. $ git commit -am“更新了Gemfile”
  5. $ git push heroku master
  6. $ git push heroku master

This resolved the issue.

这解决了这个问题。

#1


5  

If you are sure of what you're doing you can force the push to heroku:

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

git push --force heroku master

#2


5  

That means you have code in your repository newer than the code in your local repository. You have to merge your changes locally :

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

git pull heroku master

then you push :

然后你推:

git push heroku master

EDIT (following your edit) :

编辑(编辑后):

try git fetch origin

尝试git fetch origin

git pull --rebase

push again

再推一次

#3


1  

Here is what ended up working for me:

以下是最终为我工作的内容:

I logged into my heroku account and went to the 'Deploy' tab. From here there is a 'Connect to GitHub' option which will allow you to manually link the two accounts. After the accounts are linked you can search for the GitHub repo on the heroku account. Once linked, I chose the 'manual deploy' option. Since this manual deploy I've been able to use git push heroku master without issue.

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

#4


0  

You need to run

你需要跑

git pull heroku_app_name master

Hope it works.

希望它有效。

#5


0  

If you have used - bundle install --without production and did not do - git commit -am "installed using bundle"

如果您已经使用 - bundle install - 没有生产而没有 - git commit -am“使用bundle安装”

then you are more likely to face such an issue.

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

If you have already run -bundle install--without production then follow the following steps and you can resolve the problem:

如果您已经运行-bundle install - 没有生产,请按照以下步骤操作,您可以解决此问题:

  1. Open your Gemfile and put your Ruby version in it:
    • ruby '2.2.1'
    • 红宝石'2.2.1'
  2. 打开你的Gemfile并将你的Ruby版本放入其中:ruby'2.2.1'
  3. $ git commit -am "updated the Gemfile"
  4. $ git commit -am“更新了Gemfile”
  5. $ git push heroku master
  6. $ git push heroku master

This resolved the issue.

这解决了这个问题。