web-dev-qa-db-fra.com

Comment réinitialiser l'application Heroku et tout ré-engager?

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
50
bruno077

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

50
oma

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.

44
Rob Davis

Cela a fonctionné pour moi (from https://coderwall.com/p/okrlzg ):

  1. Exécuter heroku plugins:install https://github.com/lstoll/heroku-repo.git
  2. heroku repo:reset -a APPNAME

A partir de là, le référentiel git a été "réinitialisé". Ensuite, lancez:

  1. git Push heroku master -a APPNAME

pour ensemencer le référentiel git et redéployer votre application.

19
Jeremy Thomas

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

8
txomon

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

4
stephenmurdoch

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

3
Dahuchao

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 :) 

0
Serge Seletskyy

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
0