LINUX.ORG.RU

Добавить один репозиторий внутрь другого

 ,


2

2

Есть один репозиторий (динамическая библиотека).

Нулевой этап разработки библиотеки закончен, теперь пришло время добавить библиотеку в репозиторий основного проекта, где она будет использоваться и дорабатываться. До этого библиотека жила в собственном репозитории.

Возникает естественное желание добавить а основной гит-репозиторий всю историю развития библиотеки на нулевом цикле.

Вопрос, как это сделать?

★★★★★

git submodule ровно для этого и предназначен.

resurtm ★★★ ()

submodule считается устаревшим и неудобным по сравнению с git subtree. Если разберетесь, лучше его использовать. Понадобится скрипт git-subtree.sh Лично мне subtree приглянулся.

swwwfactory ★★ ()

git filter-branch для запихивания библиотеки в поддиректорию (в git filter-branch --help есть пример), затем обычный merge.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

git filter-branch для запихивания библиотеки в поддиректорию

мне как-то привычнее subtree, filter-branch несколько иное поведение. А git-subtree.sh вообще не нужен в общем если только pull делается. Но спасибо за наводку - поиграюсь с filter-branch. Тут главный вопрос: как пушить потом из подпроекта в репу библиотеки. С мерджем библиотеки в общий проект - проблем особых нет. Когда озадачился этой темой: сразу нагуглил, что все от submodule отказываются и переходят на subtree. Так что sumodule вообще не юзал.

swwwfactory ★★ ()
Ответ на: комментарий от swwwfactory

пушить потом из подпроекта в репу библиотеки

Репа библиотеки будет закрыта. Дальнейшие пуши будут только в рамках основного проекта.

trex6 ★★★★★ ()
Ответ на: комментарий от trex6

Т.е. потребность во взаимодействии с библиотекой только на уровне истории, хотя можно еще пулом подливать обновления из репы либы.

Тогда еще проще, если сливать не надо изменения. Настраиваешь git subtree, и либа в общем дереве. История подтянется тоже и сольется с общей. Причем после пуша, все будут видеть единый проект, а библиотека будет неотъемлемой частью проекта. Удобно тем, что другим не надо делать еще раз подгрузку либы - она уже в проекте.

swwwfactory ★★ ()
Ответ на: комментарий от trex6

советую проверять сначала пока не освоишься на локальных файловых репах, потом уже рабочие. Когда сам осваивал subtree, так и делал сначала. Раза 3-4. Хистори запиши - забывается.

swwwfactory ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.