использование git-submodule без изменения структуры репозитория - PullRequest
0 голосов
/ 09 июня 2018

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

repo1: [folder_X] fileA fileB fileC fileD [folder_Y] fileE fileF fileF

repo2: [folder_M] fileB fileC fileK [folder_N] fileO fileP

Как вы видите в обоих репозиториях, у нас есть несколько общих файлов в folder_X и folder_M, которые являются fileB и fileC.У меня должен быть общий источник для этих файлов, поэтому мне не нужно всегда изменять их в двух хранилищах.Эти общие файлы (B и C) могут храниться в отдельной ветке в качестве репозитория в качестве примера.

Есть ли какое-то решение для этого без изменения структуры репо?

1 Ответ

0 голосов
/ 09 июня 2018

Если вы настаиваете на использовании подмодулей git, то обратите внимание, что он работает на основе репозитория, то есть вы можете прикрепить полное дерево репозитория только как подпапку другого репозитория.Вы не можете фильтровать его, то есть вы получаете полный репозиторий из корневой папки со всеми файлами и подпапками.Таким образом, чистым способом было бы создать repo3 с общими файлами и связать его как подмодуль с repo1 и repo2.

Другой возможный способ - если вы рассматриваете repo1 как поставщика общих файлов и repo2 какпроизводный проект (потребитель).Затем вы можете связать repo1 как подмодуль repo2, а затем изменить repo2 для ссылок на файлы внутри подпапки repo1.Это может быть либо модификация файлов проекта или сценариев сборки, либо просто символические ссылки.

Третий способ - не использовать подмодули git, а использовать какой-нибудь менеджер пакетов.Например, некоторые менеджеры пакетов поддерживают создание пакета с несколькими файлами из репозитория, и затем вы можете повторно использовать этот пакет из другого репозитория.

...