web-dev-qa-db-ja.com

git Push herokuマスターは「すべてが最新」と表示されますが、アプリは最新ではありません

Herokuに古いコードを実行しているアプリがあります。私は小さな変更を加え、変更をコミットしました。それから走りました

git Push heroku master

言うよ

Fetching repository, done.
Everything up-to-date

しかし、私が行ってアプリを見ると、それはすべて古いコードです。 15日ほど前にHerokuでサイトを別のバージョンに戻しましたが、それ以降は更新をプッシュし、機能しました。

Herokuがgithubリポジトリから最新のファイルを取得しないのはなぜですか?アプリをリセットして、githubからファイルをもう一度プッシュする方法はありますか?データベースに本番データがあるので、それに触れたくありません。

前もって感謝します!!

54
Darkmatter5

現在のブランチがマスターであることを確認してください。

 git branch 

ポインターがマスターを指していない場合は、マスターブランチにチェックアウトします

git checkout master

変更をコミットして、herokuにプッシュしてみてください

git commit -am "xxxyyzzz"    
git Push heroku master
71
KannanHudson

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
51
levi

git add .に続いてgit commit -m 'xyz'を実行するのを忘れたと思いますか?

11
stephenmurdoch

私は同様の問題を抱えていましたが、私の変更が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で変更が正常に表示されるようになりました。

8
techdreams

これは古い問題ですが、他の誰かがこれに遭遇した場合、私のために働いたもの(初心者)で更新したかった:

ここ(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

がんばろう!

4
Milena

試してください:

heroku status

これにより以下が返され、問題がheroku APIにあることが確認されました(私のアプリにはありません!):

「APIに遅延が発生しています。これにより、新しいドメイン、新しいリリース、その他のアクションの追加に遅延が生じる可能性があります。現在、エンジニアは問題を調査しています。」

3
user5783745

これが発生すると、次のような以前のコミットハッシュをプッシュします。

git Push some-heroku-app-name ee3bca189acec89f5e9b098692ab6cee386a8f25:master --force

次に、このようにマスターを再プッシュします。

git Push some-heroku-app-name master:master
2

実行可能ファイル名は変更されましたが、Procfileの名前を変更するのを忘れていました。そのため、すべてのファイルがherokuで正しく更新されている間、同じ古い実行可能ファイルが実行されていました。コマンドラインからheroku localを使用して、その問題を追跡しました。

0
birken25

Javaを使用している場合は、プッシュする前にプロジェクトを再ビルドすることを忘れないでください。

Gradleの場合:

gradlew clean install
0
Ab_

同じ問題で、heroku git:remoteコマンドを使用してローカルリポジトリにリモートを追加し、プッシュしました。

heroku git:remote -a your-heroku-app

git Push heroku master
0
Jordan Taylor

同じ問題があり、私のために働いたのは、ランダムなメッセージでコミットしてからプッシュすることでした

git commit -m"random message"

git Push heroku master
0
Gil Grencho

私は知っている、私は知っている、愚かな、しかしそれは私に起こったので、私は他の人に警告を残しています。

私の場合、私はステージングにプッシュしてから運用環境でシェルを実行しましたが、静的ファイルが変更されなかった理由を理解していませんでした。

(それは、新しいバージョンをプッシュしても静的ファイルが変更されないという本当の問題から始まりましたが、それはおそらくワンプッシュのまぐれであり、間違ったアプリをテストしていたので、私はさらに1時間だけ輪になり続けました。 )

0
Aur Saraf