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 git@heroku.com: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.

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


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 

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.


-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:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.