У меня есть проект в Git, который имеет несколько подмодулей, и мне нужны эти подмодули, которые нужно загрузить, и файлы, доступные для использования основного проекта, и для того, чтобы подмодули работали, мне нужно их собственное подмодули должны быть доступны и т. д. Поэтому, чтобы установить это, я рекурсивно инициализирую подмодули, используя git submodule update --init --recursive
.Дублирующие подмодули с Git
Однако, я заметил, что многие из моих подмодулей имеют общую зависимость, смотря что-то подобное в псевдокоде (alpha -> beta
представляет, что alpha
имеет подмодуль beta
)
my project -> submodule a -> submodule m
-> submodule b -> submodule m
-> submodule n -> submodule x
-> submodule c -> submodule x
Мой вопрос: есть ли способ избежать этого дублирования, используя только git, сохраняя при этом (по крайней мере, одну копию) файлы для каждого подмодуля?
Я могу представить решение с символическими ссылками, но было бы предпочтительнее, если бы git обработал это для меня, и я не уверен, что сама ли установка символических ссылок вызовет проблемы при обновлении подмодулей.
В идеале я хотел бы, чтобы упростить его вниз:
my project -> submodule a -> symlink(submodule m)
-> submodule b -> symlink(submodule m)
-> symlink(submodule n)
-> submodule c -> symlink(submodule x)
-> submodule m
-> submodule n -> symlink(submodule x)
-> submodule x
Заранее спасибо за любые предложения!
Не точно такой же вопрос, но очень похожи: http://stackoverflow.com/questions/1419498/git-nested-submodules-and- зависимости – MarcH