Heroku ma politykę ignorowania wszystkich gałęzi oprócz „master”.
Chociaż jestem pewien, że projektanci Heroku mają doskonałe powody dla tych zasad (zgaduję pod kątem optymalizacji pamięci i wydajności), konsekwencją dla mnie jako programisty jest to, że niezależnie od gałęzi lokalnego tematu, nad którą mogę pracować, chciałbym w łatwy sposób aby przełączyć wzorzec Heroku na lokalną gałąź tematyczną i wykonać polecenie „git push heroku -f”, aby nadpisać wzorzec Heroku.
To, co uzyskałem po przeczytaniu sekcji „Pushing Refspecs” http://progit.org/book/ch9-5.html, to
git push -f heroku local-topic-branch: refs / heads / master
To, co naprawdę chciałbym, to sposób na skonfigurowanie tego w pliku konfiguracyjnym, tak aby „git push heroku” zawsze robi powyższe, zastępując gałąź lokalnego tematu nazwą jakiejkolwiek mojej obecnej gałęzi. Jeśli ktoś wie, jak to osiągnąć, daj mi znać!
Zastrzeżeniem tego jest oczywiście to, że jest to rozsądne tylko wtedy, gdy jestem jedynym, który może naciskać na tę aplikację / repozytorium Heroku. Zespół testowy lub zespół kontroli jakości może zarządzać takim repozytorium, aby wypróbować różne gałęzie kandydatów, ale będą musieli koordynować, aby wszyscy uzgodnili, do której gałęzi pchają go w danym dniu.
Nie trzeba dodawać, że bardzo dobrym pomysłem byłoby posiadanie oddzielnego zdalnego repozytorium (takiego jak GitHub) bez tego ograniczenia tworzenia kopii zapasowej wszystkiego. Nazwałbym to jedno „początkiem” i użyłem „heroku” dla Heroku, aby „git push” zawsze tworzyło kopię zapasową wszystkiego do pochodzenia, a „git push heroku” wypycha dowolną gałąź, w której aktualnie się znajduję, do gałęzi głównej Heroku, zastępując ją Jeśli to konieczne.
Czy to zadziała?
[zdalne „heroku”] url = git@heroku.com: my-app.git push = + refs / heads / *: refs / heads / master
Chciałbym usłyszeć od kogoś bardziej doświadczonego, zanim zacznę eksperymentować, chociaż przypuszczam, że mógłbym stworzyć na Heroku aplikację-atrapę i eksperymentować z tym.
Jeśli chodzi o pobieranie, nie obchodzi mnie, czy repozytorium Heroku jest tylko do zapisu. Nadal mam osobne repozytorium, takie jak GitHub, do tworzenia kopii zapasowych i klonowania całej mojej pracy.
Przypis: To pytanie jest podobne, ale nie do końca takie samo jak wdrożenie Good Git przy użyciu strategii oddziałów w Heroku?