Это находится частично в природе зверя. Нет насколько я знаю никакого общего быстрого способа вычислить остаток от подразделения. Это собирается взять соответственно большое количество тактов, даже с x сто миллионов транзисторов.
Ваш интерфейс для Heroku, по сути, является веткой Git. Гем Heroku выполняет некоторую работу через свой API, но в вашем репозитории Git это просто новая удаленная ветка.
heroku create yourapp # production
git br -D heroku # delete the default branch
heroku create staging-yourapp # staging
git br -D heroku # delete the default branch
После того, как вы настроите несколько приложений на Heroku, вы сможете настроить свой репозиторий Git следующим образом:
git remote add staging git@heroku.com:staging-yourapp.git
git push origin staging
git remote add production git@heroku.com:yourapp.git
git push origin production
Обычно я работаю в «рабочей» ветке и использую Github в качестве своего мастера.
Если это так, ваш рабочий процесс развертывания, вероятно, будет выглядеть примерно так:
git co -b working
# do some work
# push to github:
git co master
git merge working
git push
# push to staging:
git co staging
git merge master
git push origin staging
# push to production
git co production
git merge master
git push origin production