Je construis une application que je teste également à Heroku. J'ai rencontré un problème aujourd'hui et j'ai dû annuler un commit dans mon dépôt git local, mais Heroku ne reconnaîtra plus mes modifications, indiquant que "tout est à jour".
Alors, en cours d'exécution
git Push heroku master
heroku répond avec
Everything up-to-date
ce qui n'est pas vrai.
UPDATE: Choses que j'ai essayées
git Push -f heroku master
git Push --force heroku master
git Push heroku +master
git Push --force heroku +master
Est-ce que quelques changements dans le code source et ensuite
git add.
git commit -a -m "Message" #(Then this commit shows in my git Explorer)
git Push heroku master #Everything up-to-date
Cela semble bizarre. Peut-être essayer de pousser une autre branche ferait l'affaire?
git branch production
git checkout production
#do some code changes
git commit -am "some desperate code changes to try fix heroku"
git Push heroku production:master
Je veux que vous testiez la création d’une nouvelle branche de production. En outre, il est agréable d’avoir une branche de production que vous pouvez utiliser pour déployer.
Si cela ne fonctionne pas, alors je pense que le problème est plus profond et que vous avez besoin de l'aide de heroku.
EDIT: Ajoutez l’addon heroku release aussi. Revenir en arrière est aussi simple que heroku rollback
Cela ne fonctionne pas dans toutes les situations, mais si votre référant local a divergé du référentiel Heroku de telle sorte que git ne peut pas trouver comment réconcilier les deux - comme si vous rebasiez votre branche locale après son transfert à Heroku - vous pouvez forcer un Push en mettant un signe plus + avant l’arbitre, comme ceci:
git Push heroku +master
Cela ne fonctionnera peut-être pas dans votre cas, mais cela vaut la peine d'essayer.
Cela a fonctionné pour moi (from https://coderwall.com/p/okrlzg ):
heroku plugins:install https://github.com/lstoll/heroku-repo.git
heroku repo:reset -a APPNAME
A partir de là, le référentiel git a été "réinitialisé". Ensuite, lancez:
git Push heroku master -a APPNAME
pour ensemencer le référentiel git et redéployer votre application.
Supposons que vous ayez annulé un commit que vous avez fait à distance et qui existait auparavant. Je pense que vous devriez faire:
git merge heroku/master
Si vous voulez juste aller de l'avant
ou:
git Push --force heroku master
si vous voulez pousser ce changement
Une fois, j'ai eu un problème similaire et l'ai résolu en modifiant un caractère dans mon code et en exécutant git add/commit/Push à nouveau. J'imagine que vous avez déjà essayé cela cependant.
Ne cassez pas l'application, ajoutez simplement un commentaire à un fichier CSS ou quelque chose et voyez si cela fait l'affaire
bonne chance
J'ai eu le même problème et l'ai résolu par
Git Push Origin HEAD: maître
Pour vous
Git Push heroku HEAD: maître
Après un moment, je suis arrivé à utiliser une tâche de rake comme celle-ci deploy.rake
Il normalisera et accélérera le déploiement, en particulier lorsque les migrations doivent être mises en œuvre.
puts `git Push -f [email protected]:#{APP}.git #{current_branch}`
Comme vous le voyez, l'option --force (ou -f) est utilisée pour tout Push afin d'ignorer les conflits avec le git repo de heroku.
Mais je ne le recommande pas aux nouveaux arrivants :)
J'ai eu le même problème et j'ai essayé toutes les suggestions et n'a pas aidé. Je devais exécuter la précompilation des ressources localement et Push, même si je connaissais heroku run rake assets:precompile
.
rake assets:precompile
git add .
git commit -am "local assets precompile"
git Push heroku master