Hacer que Heroku ejecute una rama Git no maestra

182

Tengo un proyecto alojado en Heroku y he llegado al punto en que quiero hacer un servidor de prueba alternativo (para poder probar a los trabajadores de Heroku sin alterar la producción).

Ya configuré mi control remoto principal de Heroku con mi troncal y un control remoto de Heroku-dev en el que deseo ejecutar una rama alternativa.

Mi problema es que, dado que mi rama alternativa no es maestra, Heroku no la construirá.

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

Cambiar esta compilación a maestro no es una opción en este momento. Obviamente, una opción es crear un nuevo repositorio de git que sea un clon de mi rama de prueba, pero eso no suena muy ideal.

AlexQueue
fuente

Respuestas:

361

Puede empujar una rama alternativa a Heroku usando Git.

git push heroku-dev test:master

Esto empuja su rama de prueba local a la rama maestra del control remoto (en Heroku).

jordelver
fuente
12
De hecho, también está documentado: devcenter.heroku.com/articles/…
Jon Mountjoy
50
Vale la pena señalar también, cuando esté listo para volver a dominar lo que debe hacergit push -f heroku master:master
Brian Armstrong el
55
¿Hay alguna manera de implementar el uso de una rama no maestra en Heroku, para mantener a Heroku masterimpecable para su promoción posterior?
Eric Walker
3
No, Heroku siempre usa master. ¿Cuál es su caso de uso?
jordelver
55
@SDP Algo que he hecho en el pasado para la depuración de Heroku es comprometer algo, empujarlo a Heroku, luego (si eso no funcionó) intentar algo más, comprometerlo (con git commit --amend), empujar eso a Heroku (usando la -fbandera) y repita hasta que se arregle. Una vez que se solucione, asegúrese de que la final --amendsea ​​una buena confirmación limpia con un mensaje sensato y luego continúe con lo siguiente. De esa manera, puede probar cosas todo el día sin múltiples confirmaciones. No es bonito pero hace el trabajo :)
Simon
3

En mi caso, se desarrolló la rama predeterminada o base , por lo que utilicé:

          git push heroku develop:master 
Okpo
fuente
0

En caso de que git push heroku-dev test: master no funcione para ti, prueba git push heroku test: master. Recuerde que la "prueba" en "prueba: maestra" es el nombre de la nueva rama en la que se encuentra.

Juan
fuente
-1

Deberá extraer la rama remota antes de poder empujar la rama no maestra.

Ejecute el siguiente comando en su repositorio local

git pull https://heroku:[email protected]/YOUR_APP_NAME.git
Kingkeamo
fuente