2015-05-12 2 views
1

У меня есть приложение, размещенное на heroku, содержащее подмодуль. Подмодуль содержит несколько подмодулей. Подмодули в форме http-адреса для github repo.heroku не обновляет подмодули после нажатия

app 
|- submodule1 
|- other dirs 

submodule1 
|- submodule2 
|- submodule3 
|- other dirs 

Я сделал изменения в несколько sobmodules затем совершил все (в том числе подмодулей) и толкнул GitHub. Я могу проверить, что подмодули указывают на правильную фиксацию, т. Е. Репо может быть получено через git clone --recursive ....

После того, как я нажал на github, я нажал на герою. Приложение само по себе обновлено, тем не менее, подмодули остались прежними (хотя они совершаются и подталкиваются к github)!

Пример .gitmodules:

[submodule "src/main/java/runtime"] 
    path = src/main/java/runtime 
    url = https://github.com/USER/REPO.git 

Что я должен делать? Это серьезная проблема для меня.

ответ

1

Git рассматривает подмодуль как отдельный репозиторий в отношении нажатия на пульт. Правильная процедура здесь заключалась бы в том, чтобы подтолкнуть каждый подмодуль, а затем подтолкнуть подмодуль, содержащий подмодули, и, наконец, подтолкнуть ваш корневой проект. Таким образом, вы хотели бы сделать что-то вроде этого:

cd app/submodule1/submodule2/ 
git commit -m     # commit files in submodule2 
git push      # push to repository 

...       # do the same for all other submodules in submodule1 

cd app/submodule1/ 
git commit -m     # commit files in submodule1 
git push      # push to repository 

И наконец:

cd app/      # change to directory of main project 
git commit -m     # commit files in main project 
git push      # after this everything will be up to date 
+1

ли вы 'GIT add' для каждого субмодуля в' submodule1', например? Git рассматривает подмодуль как файл в своем родительском проекте. –

+0

Я действительно пропустил один коммит, извините за фиктивный вопрос. По крайней мере, теперь я знаю, что героику обновляет подмодули рекурсивно :) спасибо – petrbel

Смежные вопросы