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 [email protected]: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.

AlexQueue
fonte

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

jordelver
fonte
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 
Okpo
fonte
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á.

John
fonte
-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:[email protected]/YOUR_APP_NAME.git
kingkeamo
fonte