0

ヘッドより古いコミットを強制的にプッシュすると、機能します。次に頭を押してみると、すべてが最新であると言われます。なんで?これは一般的な git の問題ですか、それとも heroku に固有のものですか? 2番目のコマンドを実際に実行しますか

# これは期待どおりに動作します
git push heroku 開発:マスター
...

# それでは、期待どおりに動作しません
git push heroku 開発:マスター
すべてが最新

# その後、期待どおり、古いコミットのプッシュが機能します
git push heroku a1b2c3d4:master
...

# その場合、これは失敗します。どうして?!:-(
git push heroku 開発:マスター
すべてが最新

4

1 に答える 1

0

古いコミットをHerokuにプッシュしましたか?Herokuは、バージョンを受け取ったかどうかをコミットIDで判断する可能性があるため、そうしなかったと思います。この仮説は、次の手順で検証できます。

1. git push heroku develop:master => our starting point
2. Change and commit => Rev A
3. Change and commit => Rev B
4. git push heroku develop:master => Rev B known to Heroku
5. Change and commit => Rev C
6. git push heroku develop:master => Rev C known to Heroku
7. git push heroku Rev A:master => this should work as unknown to Heroku
8. git push heroku Rev B:master => this should not work as known to Heroku
9. git push heroku develop:master => we know this doesn't work

とにかく、https://devcenter.heroku.com/articles/releases#listing-release-historyと https://devcenter.heroku.com/articles/releases#rollbackを使用して前後にロールバックでき ます

于 2012-12-05T13:53:53.030 に答える