Подтвердить что ты не робот

Как я могу нажать часть моего репозитория git на Heroku?

У меня есть многомодульное приложение, которое уже находится в Github. Он состоит из двух модулей, один из которых - приложение для Android, а другое - веб-приложение на основе Rails. Таким образом, структура моего проекта находится в форме:

ProjectRoot
|
+-- web
|
+-- android
|
+-- .git

В качестве такового я не могу просто cd в ProjectRoot и нажимать мое приложение на Heroku, так как корневая папка приложения Rails ProjectRoot/web. Есть ли способ нажать папку web на Heroku? Если я превращу веб-сайт в под-модуль git, это должно быть легко сделать, но тогда у меня есть только 5 частных репозиториев на git, и я предпочитаю использовать только 1 репо для всего моего приложения.

4b9b3361

Ответ 1

Вы можете использовать git поддерево. Он сгенерирует новое дерево фиксации с вашим каталогом с правами root и нажимает его.

git subtree push --prefix web heroku master

Полная документация здесь.

Чтобы установить его:

git clone git://github.com/apenwarr/git-subtree.git
cd git-subtree
sudo sh install.sh

Ответ 2

Команда git subtree (встроенная, теперь) - хороший способ сделать это. Если вы хотите наложить поддерево ветки, чтобы стать вашим хозяином, вы можете использовать что-то вроде:

git push --force heroku `git subtree split --prefix web HEAD`:master

Ответ 3

Вы также можете использовать ветки git вместо подпапок. Если у вас есть git 1.7.2 или новее, вы можете просто сделать git checkout --orphan android для создания ветки, которая отключена от основной ветки (предполагается, что это папка в Интернете). После того, как вы проверили сиротскую ветвь, запустите git rm -rf ., чтобы удалить существующие файлы, прежде чем копировать файлы вашего Android в пустую корневую директорию.

Если вы хотите использовать отдельные папки для каждого модуля, вы можете дважды клонировать репозиторий и использовать эту структуру:

ProjectRoot
├── android
│   └── .git
└── web
    └── .git