7

Heroku にプッシュしようとした後、このエラー メッセージ (以下にコピー) を受け取りました。最初に Facebook キャンバス アプリをセットアップし、heroku オプションでホスティングを選択しました。Heroku の URL が表示され、自分のマシンで開発していたアプリにリモートとして追加しました。

heroku git:remote -a desolate-springs-1684

しかし、プッシュすると、このエラーが発生しました

error: failed to push some refs to 'git@heroku.com:desolate-springs-1684.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.
localhost:nhl michaelmitchell$ 

だから私はやった

git push -f heroku master

しかし、今では「git pull」を実行する必要があるようです。しかし、「git pull」の後に何を入れればよいでしょうか? heroku url の名前は? または、他の何か?

4

2 に答える 2

22

git pushあなたや他の共同作業者が作業コピーで行ったコミットが失われたため、あなたを強制することは良い考えではありませんでした。

プッシュする前に、アップストリームの変更をローカルの作業コピーにマージまたはリベースしておく必要があります。

変更をローカルにマージするには

$ git pull heroku master
$ git push heroku master

変更をローカルにリベースするには

$ git pull --rebase heroku master
$ git push heroku master

ところで、変更をプッシュしたので、実際には他に何もする必要はありません。リモート リポジトリには、すべての変更が既に含まれています。

何らかの理由で$ git statusコマンドが古い参照を返す場合は、単に実行します

$ git pull heroku

すべてのリモート変更を取得します。git pullターゲット ブランチを指定しない限り (またはトラッキング ブランチを有効にしない限り)、は単にアップストリームの変更をダウンロードする (マージしない)ことに注意してください。

また、Heroku を git ホスティングと見なすべきではないことにも注意してください。git pullこれは、Heroku からa を実行することは非常にまれであることを意味します。代わりに、git ホスティング (GitHub や BitBucket など) を使用してリポジトリを保存し、Heroku へのプッシュのみを実行してアプリケーションをデプロイする必要があります。

于 2012-09-13T22:56:39.607 に答える
1

このエラーは基本的に、プッシュしようとしているコードよりも新しいコードがリポジトリにあることを意味します。

プルして自分の作業リポジトリを更新してから再度プッシュするか、強制的にプッシュする必要があります

git pull heroku master

補足として、すべての git コマンドに慣れていない場合は、GUI を使用することをお勧めします。GUI を使用すると、プロセス全体の負担が軽減される可能性があります。

ここには素晴らしいクライアントがたくさんあります: http://git-scm.com/downloads/guis

于 2012-09-13T23:03:50.253 に答える