У меня есть веб-приложение в репозитории git. По историческим причинам веб-приложение не находится в корне репозитория, оно находится в папке с именем website
. Кроме того, есть несколько других папок, так что у меня есть следующая структура:
myApp
+- .git
+- otherFolder1
+- otherFolder2
+- otherFolder...
+- otherFolderN
+- website
Веб-сайт работает на Heroku. Поскольку Heroku требует, чтобы ваше веб-приложение находилось в корне репозитория git, до сих пор я использовал процесс сборки, который скопировал папку website
в совершенно другую (внешнюю) папку со своим собственным хранилищем git. Тогда я смог оттолкнуть оттуда в Хереку, и все было в порядке.
Теперь, поскольку git включает в себя команду subtree
, это больше не нужно, поскольку я мог напрямую нажать из своей начальной папки, но только подпапку website
, используя:
git subtree push --prefix=website heroku master
В принципе, это работает отлично. У меня только одна проблема: поскольку предыдущие коммиты в Heroku пришли из совершенно другого репозитория git, история обоих не совпадает друг с другом - поэтому Heroku обнаруживает непереходное нажатие и отклоняет subtree
толчок.
Итак, как мне с этим справиться?
- Идея 1: принудительное нажатие. Пробовал это, но не работает, поскольку
git subtree push
не имеет опции--force
(или ничего подобного). - Идея 2: Очистить хранилище Heroku и начать с нуля.
Мне бы хотелось пойти с идеей 2, но я понятия не имею, как этого добиться.
Мой первый подход состоял в том, чтобы запустить git push heroku :master
, но Heroku обнаруживает это и отрицает его.
Конечно, я мог бы уничтожить приложение и воссоздать его, но тогда все назначения и дополнения домена исчезли, и я хотел бы избежать этого.
Любые другие идеи?