Faça o Heroku executar o ramo Git não mestre


182

Eu tenho um projeto hospedado no Heroku e chegou ao ponto em que desejo criar um servidor de teste alternativo (para que eu possa testar os trabalhadores do Heroku sem atrapalhar a produção).

Já configurei meu controle remoto principal Heroku executando meu tronco e um controle remoto Heroku-dev no qual desejo executar um ramo alternativo.

Meu problema é que, como meu ramo alternativo não é mestre, o Heroku não o constrói.

$ 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

Mudar essa construção para mestre não é uma opção no momento. Obviamente, uma opção é criar um novo repositório Git que é um clone do meu ramo de teste, mas isso não parece muito ideal.

Respostas:


361

Você pode enviar uma ramificação alternativa ao Heroku usando o Git.

git push heroku-dev test:master

Isso envia sua ramificação de teste local para a ramificação principal do controle remoto (no Heroku).


12
Na verdade - também está documentado: devcenter.heroku.com/articles/…
Jon Mountjoy

50
Vale a pena notar também que, quando você estiver pronto para voltar ao domínio, precisará fazer #git push -f heroku master:master
Brian Armstrong

5
Existe uma maneira de implantar usando um ramo não mestre no Heroku, de modo a manter o Heroku masterintocado para promoção posterior?
Eric Walker

3
Não, o Heroku sempre usa master. Qual é o seu caso de uso?
Jordelver # 26/14

5
@SDP Algo que eu fiz no passado para a depuração do Heroku é confirmar algo, enviá-lo para o Heroku e, em seguida (se isso não funcionar), tentar outra coisa, enviá-lo (com git commit --amend), enviá-lo para o Heroku (usando a -fbandeira) e repita até ficar fixo. Depois de corrigido, verifique se a final --amendé um bom commit limpo com uma mensagem sensata e depois passe para a próxima. Dessa forma, você pode testar as coisas durante todo o dia sem várias confirmações. Não é bonito, mas ele começa o trabalho feito :)
Simon

3

No meu caso, o ramo padrão ou base foi desenvolvido , então eu usei:

          git push heroku develop:master 

0

Caso o git push heroku-dev test: master não funcione para você, tente git push heroku test: master. Lembre-se de "test" em "test: master" é o nome do novo ramo em que você está.


-1

Você precisará puxar a ramificação remota primeiro antes de poder empurrar a ramificação não principal.

Execute o seguinte comando no seu repositório local

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.