2013-09-29 19 views
10

Próbujemy wdrożyć duży projekt Railsowy do Heroku po raz pierwszy, ale coś się zepsuło podczas kompilacji Heroku i mamy no way of knowing what.Jak mogę wdrożyć stare zatwierdzenia do Heroku?

Więc teraz zamierzamy zaplanować B, który ma przejść do łańcucha zatwierdzania i przetestować każdy krok na drodze przeciwko Heroku, dopóki nie odkryjemy, w którym momencie staje się on niezdolny do kompilacji. (Tak, to najlepsze, co mogłem wymyślić w tym momencie.)

Pomyślałem więc, że sklonuję projekt lokalnie, wypróbuję kilka starych zatwierdzeń i pchnę do heroku. Ale potem odkryłem, że jeśli popchnę do heroku z niczego poza mistrzem, to nie zbuduje aplikacji ?? Zamiast tego mówi: "Pchnął do gałęzi innej niż master, pomijając kompilację."

Więc teraz nawet mój zły plan nie działa. Po prostu szukam przerwy. Wszelkich pomysłów, jak zrobić to, co próbuję zrobić?

Odpowiedz

11

To nie takie Heroku buduje tylko jeśli push z pana, raczej Heroku będzie tylko budować jeśli push do pana. Jeśli po prostu zrobić

git push heroku 

to prawdopodobnie przesuwając się z lokalnym oddziałem jednego z tej samej nazwie na Heroku (dokładna domyślne zachowanie jest konfigurowalne). Można naciskać z innego lokalnego oddziału do Heroku mistrza z

git push heroku my_local_branch:master 

lub, jeśli jesteś już wyrejestrowany na my_local_branch można użyć

git push heroku HEAD:master 

Zobacz documentation for git push - przykłady ku końcowi, w szczególności może pomóc.

Ty zapewne też trzeba używać -f zmusić push:

git push -f heroku my_local_branch:master 
+0

Awesome @ matt - właśnie to, czego potrzebowałem. I właśnie znalazłem to opisane [w dokumentach heroku] (https://devcenter.heroku.com/articles/multiple-environment##advanced-linking-local-branches-to-remote-apps). Pytanie: dlaczego musiałbym "wymusić"? – Yarin

+0

@ Yarin Jeśli próbujesz wypchnąć wcześniejsze zatwierdzenie niż to, co jest już na 'master', git normalnie cię zatrzyma. Musisz użyć '-f', aby powiedzieć" tak, naprawdę chcę zastąpić (i ewentualnie stracić) te późniejsze zatwierdzenia ". – matt

+0

Mam to - dziękuję- – Yarin

12

to dużo łatwiejsze do osiągnięcia pożądanego rezultatu z Heroku zamiast procesu git wieloetapowej sprawdzania w kodzie, a pchanie to. Dzięki temu twoja historia git jest czysta.

$ heroku releases 
$ heroku rollback v11 
+0

Proszę dodać wyjaśnienie, dlaczego jest to lepsze rozwiązanie. – StormeHawke

+2

Myślę, że pytanie brzmiało, jak wdrożyć zatwierdzenie, które nigdy wcześniej nie było przekazywane do pilota heroku. Dajesz rozwiązanie, jak wrócić do zatwierdzenia, które już zostało wdrożone w Heroku – AzaFromKaza

Powiązane problemy