Spraw, aby Heroku prowadził nie-master oddział Git

182

Mam projekt hostowany na Heroku i doszedłem do tego stopnia, że ​​chcę stworzyć alternatywny serwer testowy (dzięki czemu mogę testować pracowników Heroku bez zakłócania produkcji).

Skonfigurowałem już mojego głównego pilota Heroku z moim bagażnikiem i pilota Heroku-dev, na którym chcę uruchomić alternatywną gałąź.

Mój problem polega na tym, że ponieważ moja alternatywna gałąź nie jest mistrzem, Heroku jej nie zbuduje.

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

Przełączanie tej wersji na master nie jest w tej chwili opcją. Oczywiście jedną z opcji jest stworzenie zupełnie nowego repozytorium git, które jest klonem mojej gałęzi testowej, ale nie brzmi to idealnie.

AlexQueue
źródło

Odpowiedzi:

361

Możesz przesłać alternatywną gałąź do Heroku za pomocą Git.

git push heroku-dev test:master

To wypycha lokalną gałąź testową do głównej gałęzi pilota (na Heroku).

jordelver
źródło
12
Rzeczywiście - jest to również udokumentowane: devcenter.heroku.com/articles/…
Jon Mountjoy
50
Warto również zauważyć, że kiedy jesteś gotowy, aby wrócić do mistrza, musisz to zrobićgit push -f heroku master:master
Brian Armstrong,
5
Czy istnieje sposób wdrożenia przy użyciu oddziału innego niż master na Heroku, aby zachować masternieskazitelność Heroku do późniejszej promocji?
Eric Walker,
3
Nie, Heroku zawsze używa master. Jaki jest twój przypadek użycia?
jordelver
5
@SDP Coś, co zrobiłem w przeszłości dla debugowania Heroku, to zatwierdzenie czegoś, przekazanie go do Heroku, a następnie (jeśli to nie zadziałało) wypróbowanie czegoś innego, zatwierdzenie (za pomocą git commit --amend), przekazanie tego do Heroku (używając -fflagi) i powtarzaj, aż zostanie naprawiony. Po naprawieniu upewnij się, że finał --amendjest ładnym, czystym zatwierdzeniem z rozsądnym komunikatem, a następnie przejdź do następnej rzeczy. W ten sposób możesz testować rzeczy przez cały dzień bez wielu zatwierdzeń. Nie jest ładna, ale wykonuje zadanie :)
Simon
3

W moim przypadku została opracowana gałąź domyślna lub podstawowa , więc użyłem:

          git push heroku develop:master 
Okpo
źródło
0

Jeśli test git push heroku-dev: master nie działa, spróbuj git push heroku test: master. Pamiętaj, że „test” w „test: master” to nazwa nowego oddziału, w którym się znajdujesz.

Jan
źródło
-1

Najpierw musisz wyciągnąć gałąź zdalną, zanim będziesz mógł wypchnąć gałąź inną niż master.

Uruchom następujące polecenie w swoim lokalnym repozytorium

git pull https://heroku:[email protected]/YOUR_APP_NAME.git
Kingkeamo
źródło