Herokuに古いコードを実行しているアプリがあります。私は小さな変更を加え、変更をコミットしました。それから走りました
git Push heroku master
言うよ
Fetching repository, done.
Everything up-to-date
しかし、私が行ってアプリを見ると、それはすべて古いコードです。 15日ほど前にHerokuでサイトを別のバージョンに戻しましたが、それ以降は更新をプッシュし、機能しました。
Herokuがgithubリポジトリから最新のファイルを取得しないのはなぜですか?アプリをリセットして、githubからファイルをもう一度プッシュする方法はありますか?データベースに本番データがあるので、それに触れたくありません。
前もって感謝します!!
現在のブランチがマスターであることを確認してください。
git branch
ポインターがマスターを指していない場合は、マスターブランチにチェックアウトします
git checkout master
変更をコミットして、herokuにプッシュしてみてください
git commit -am "xxxyyzzz"
git Push heroku master
git Push heroku master
を実行すると、gitはマスターからプッシュしていると想定しているため、他のブランチに変更がある場合は、変更せずにマスターブランチをプッシュしようとします。
2つの選択肢があります
1。マスターに変更をマージしてプッシュします。
実際のブランチで変更をコミットし、それらをmasterとマージします
git commit -a - m "your messages"
git checkout master
git merge your_feature_branch
git Push heroku master
2。実際のブランチから変更をプッシュする
git Push heroku your_feature_branch:master
git add .
に続いてgit commit -m 'xyz'
を実行するのを忘れたと思いますか?
私は同様の問題を抱えていましたが、私の変更がherokuに表示されることはありませんでした。自分自身を再確認するために、私はherokuからクローンを取得しましたが、明らかに最新でした。
このアプローチに従うことによってのみ問題を解決できました。
ステップ1:master
から新しいブランチを作成します
git checkout -b new_branch
ステップ2:任意のファイルにコメントを追加して、新しいコミットを作成してから:
git add .
git commit -m "Just a test commit to Push new branch to heroku"
ステップ3:新しいブランチをherokuにプッシュします。
git Push heroku new_branch:master
heroku restart
これで、herokuで変更が正常に表示されるようになりました。
これは古い問題ですが、他の誰かがこれに遭遇した場合、私のために働いたもの(初心者)で更新したかった:
ここ(Hudsonから)の指示に従った後、「マスター」ブランチをチェックアウトした後、「git pull」を行うことが最終的に私にとってのトリックでした。おそらく「git Push heroku master」はmasterのローカルブランチのみをプッシュしますか?
もちろん、これはすべての必要な変更がマスターに正しくマージされていることを前提としています。開発からマスターへのすべてのマージはGitHubで処理され、後で開発とマージされる新しいブランチで作業していたため、プロジェクトがセットアップされてからローカルのマスターからプルしませんでした。
したがって、上記の手順をハドソンから再言するには:
git checkout master
git pull
(ここで、READMEを更新して、「Heroku deploy [date、time]」のようにコミットするように変更しました。
git add .
git commit -am "xxxyyzzz"
git Push heroku master
heroku run rake db:migrate
heroku restart
がんばろう!
試してください:
heroku status
これにより以下が返され、問題がheroku APIにあることが確認されました(私のアプリにはありません!):
「APIに遅延が発生しています。これにより、新しいドメイン、新しいリリース、その他のアクションの追加に遅延が生じる可能性があります。現在、エンジニアは問題を調査しています。」
これが発生すると、次のような以前のコミットハッシュをプッシュします。
git Push some-heroku-app-name ee3bca189acec89f5e9b098692ab6cee386a8f25:master --force
次に、このようにマスターを再プッシュします。
git Push some-heroku-app-name master:master
実行可能ファイル名は変更されましたが、Procfileの名前を変更するのを忘れていました。そのため、すべてのファイルがherokuで正しく更新されている間、同じ古い実行可能ファイルが実行されていました。コマンドラインからheroku local
を使用して、その問題を追跡しました。
Javaを使用している場合は、プッシュする前にプロジェクトを再ビルドすることを忘れないでください。
Gradleの場合:
gradlew clean install
同じ問題で、heroku git:remoteコマンドを使用してローカルリポジトリにリモートを追加し、プッシュしました。
heroku git:remote -a your-heroku-app
git Push heroku master
同じ問題があり、私のために働いたのは、ランダムなメッセージでコミットしてからプッシュすることでした
git commit -m"random message"
git Push heroku master
私は知っている、私は知っている、愚かな、しかしそれは私に起こったので、私は他の人に警告を残しています。
私の場合、私はステージングにプッシュしてから運用環境でシェルを実行しましたが、静的ファイルが変更されなかった理由を理解していませんでした。
(それは、新しいバージョンをプッシュしても静的ファイルが変更されないという本当の問題から始まりましたが、それはおそらくワンプッシュのまぐれであり、間違ったアプリをテストしていたので、私はさらに1時間だけ輪になり続けました。 )