Макет проекта:
/project_a
/shared
/project_b
/shared
/shared
project_a и project_b должны содержать общую папку. В svn мы использовали svn: externalsand, который работал нормально, поскольку svn может ссылаться на поддиректории (также с относительными путями). Тем не менее, мы перешли на git и, похоже, не поддерживаем проверку subdirs.
Наше решение теперь состоит в том, чтобы поместить project_a, project_b и общий доступ в разные репозитории git и использовать подмодули git в project_a и project_b. Однако это выглядит намного сложнее, чем одно монолитное svn репо с svn: externals. Как правильно обрабатывать общие элементы в git?
EDIT:
Консенсус в том, что субмодули - это путь. Но, пользуясь им в течение дня, он кажется очень недружелюбным.
После внесения изменений в общий файл мне необходимо:
- Передать изменения в общий доступ
- Нажмите на изменение доли
- Добавьте общий каталог снова в родительский каталог
- Нажмите родительский каталог
По сравнению с одним коммитом в svn, это выглядит намного сложнее. И пропущение одного из этих шагов приводит к огромному беспорядку версий. Я что-то здесь упускаю?