Buat Heroku menjalankan cabang non-master Git

182

Saya memiliki proyek yang dihosting di Heroku dan sampai pada titik di mana saya ingin membuat server uji alternatif (jadi saya dapat menguji pekerja Heroku tanpa mengacaukan produksi).

Saya sudah mengatur remote Heroku utama saya menjalankan trunk saya dan remote Heroku-dev di mana saya ingin menjalankan cabang alternatif.

Masalah saya adalah karena cabang pengganti saya bukan master, Heroku tidak akan membangunnya.

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

Beralih dari bangunan ini ke master bukanlah pilihan saat ini. Jelas satu opsi adalah membuat repo git yang sama sekali baru yang merupakan klon dari cabang pengujian saya, tetapi itu kedengarannya tidak terlalu ideal.

AlexQueue
sumber

Jawaban:

361

Anda dapat mendorong cabang alternatif ke Heroku menggunakan Git.

git push heroku-dev test:master

Ini mendorong cabang uji lokal Anda ke cabang master jarak jauh (di Heroku).

jordelver
sumber
12
Memang - itu didokumentasikan juga: devcenter.heroku.com/articles/…
Jon Mountjoy
50
Perlu dicatat juga, ketika Anda siap untuk kembali untuk menguasai yang perlu Anda lakukangit push -f heroku master:master
Brian Armstrong
5
Apakah ada cara untuk menyebarkan menggunakan cabang non-master di Heroku, sehingga tetap Heroku mastermurni untuk promosi nanti?
Eric Walker
3
Tidak, Heroku selalu digunakan master. Apa kasus penggunaan Anda?
jordelver
5
@SDP Sesuatu yang telah saya lakukan di masa lalu untuk debugging Heroku adalah melakukan sesuatu, dorong ke Heroku, lalu (jika itu tidak berhasil) coba sesuatu yang lain, komit (dengan git commit --amend), dorong ke Heroku (menggunakan -fbendera) dan ulangi sampai diperbaiki. Setelah itu diperbaiki, pastikan final --amendadalah komit bersih yang bagus dengan pesan yang masuk akal dan kemudian pindah ke hal berikutnya. Dengan begitu Anda dapat menguji berbagai hal sepanjang hari tanpa banyak komitmen. Ini tidak cantik tetapi menyelesaikan pekerjaan :)
Simon
3

Dalam kasus saya, cabang default atau basis dikembangkan , jadi saya menggunakan:

          git push heroku develop:master 
Okpo
sumber
0

Dalam kasus git push heroku-dev test: master tidak bekerja untuk Anda, coba git push heroku test: master. Ingat "tes" dalam "test: master" adalah nama cabang baru Anda.

john
sumber
-1

Anda harus menarik cabang jarak jauh terlebih dahulu sebelum dapat mendorong cabang non master.

Jalankan perintah berikut di repositori lokal Anda

git pull https://heroku:[email protected]/YOUR_APP_NAME.git
kingkeamo
sumber