Faire Heroku exécuter une branche Git non maître


182

J'ai un projet hébergé sur Heroku et il est arrivé au point où je veux créer un serveur de test alternatif (afin que je puisse tester les travailleurs Heroku sans gâcher la production).

J'ai déjà configuré ma télécommande Heroku principale exécutant mon coffre et une télécommande Heroku-dev sur laquelle je souhaite exécuter une autre branche.

Mon problème est que puisque ma branche alternative n'est pas maître, Heroku ne la construira pas.

$ git push heroku-dev test
counting objects ...
...
Pushed to non-master branch, skipping build.
To git@heroku.com:example-dev.git
* [new branch]      test -> test

Changer cette version en maître n'est pas une option pour le moment. De toute évidence, une option est de créer un tout nouveau repo git qui est un clone de ma branche de test, mais cela ne semble pas très idéal.

Réponses:


361

Vous pouvez pousser une branche alternative à Heroku en utilisant Git.

git push heroku-dev test:master

Cela pousse votre branche de test locale vers la branche principale de la télécommande (sur Heroku).


12
En effet - il est également documenté: devcenter.heroku.com/articles
Jon Mountjoy

50
À noter également, lorsque vous êtes prêt à revenir à la maîtrise, vous devez le fairegit push -f heroku master:master
Brian Armstrong

5
Existe-t-il un moyen de déployer en utilisant une branche non maître sur Heroku, afin de garder Heroku masterintact pour une promotion ultérieure?
Eric Walker

3
Non, Heroku utilise toujours master. Quel est votre cas d'utilisation?
jordelver

5
@SDP Quelque chose que j'ai fait dans le passé pour le débogage Heroku est de commettre quelque chose, de le pousser vers Heroku, puis (si cela n'a pas fonctionné) d'essayer autre chose, de le valider (avec git commit --amend), de le pousser vers Heroku (en utilisant le -fdrapeau) et répétez jusqu'à ce qu'il soit fixé. Une fois que c'est corrigé, assurez-vous que la finale --amendest un bon commit propre avec un message raisonnable, puis passez à la chose suivante. De cette façon, vous pouvez tester les choses toute la journée sans commits multiples. Ce n'est pas joli mais ça fait le travail :)
Simon

3

Dans mon cas, la branche par défaut ou de base était développée , j'ai donc utilisé:

          git push heroku develop:master 

0

Si git push heroku-dev test: master ne fonctionne pas pour vous, essayez git push heroku test: master. Souvenez-vous que le "test" dans "test: master" est le nom de la nouvelle branche sur laquelle vous vous trouvez.


-1

Vous devrez d'abord extraire la branche distante avant de pouvoir pousser la branche non maître.

Exécutez la commande suivante dans votre référentiel local

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.