1

私はプロジェクトに協力しており、Github からレポを複製し、いくつかの変更を加えて Heroku にプッシュしました。これで、複製されたアプリには、ENV 変数ではなく、すべてのキーとパスワードがハードコーディングされました。

そこで、ENV 変数を作成し、ファイルを .gitignore に追加しました。したがって、このアプリはコミット履歴にこれらのキーをまだ持っています。私が今行ったことは、作成者に Github で新しいレポを作成してもらい、元のアプリから .git ファイルを削除して、新しいコードを新しいレポにプッシュすることです。

これで、新しいアプリのクローンを作成し、Heroku アプリに新しいリモートを追加しました。

heroku git:remote -a myapplication

私の問題は、新しいアプリを既存の Heroku アプリにプッシュできないことです。私が得るとき:

error: failed to push some refs to 'git@heroku.com:myapplication.git
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

したがって、git pullすべてが最新であると言います。

git remote -v出力

heroku  git@heroku.com:myapplication.git (fetch)
heroku  git@heroku.com:myapplication.git (push)
origin  git@github.com:author/myapplication.git (fetch)
origin  git@github.com:author/myapplication.git (push)

新しいアプリケーションを既存の heroku アプリにプッシュするにはどうすればよいですか?

アップデート

走った

git push -f heroku master

プッシュしましたが、エラーが発生しました

   you have not declared a Ruby version in your Gemfile.
   To set your Ruby version add this line to your Gemfile:"
   ruby '1.9.2'"

以前は指定する必要がありませんでした。現在、設定されているすべての元の構成変数は、Heroku に保存されなくなりました。

4

2 に答える 2

3

git pullデフォルトでは、すべてのコミットが既にある GitHub からプルします。

次のことが必要になる場合があります。

  • git pull heroku
  • ファイルをクリーンアップします (マージによってハードコードされた値が返される場合)
  • にプッシュorigin
  • herokuコマンドを介してプッシュしherokuます。
于 2013-07-02T20:13:40.127 に答える