Git Подмодули и пакеты - PullRequest
1 голос
/ 02 марта 2020

Я новичок с git подмодулями.

У меня есть следующая структура в моем проекте:

src/main/com/feature1
src/main/com/feature2
src/main/com/feature3
src/main/com/commonFeature

У меня такая же структура для тестов, но под следующим package:

src/test/com/feature1 ...

Поскольку пакет "commonFeature" - это то, что я хочу использовать для других проектов, я хотел бы создать для него подмодуль git. Я подумываю над следующими вариантами перераспределения структуры моих пакетов:

src/main/com/commonFeature/main/
src/main/com/commonFeature/test/

или

src/commonFeature/main
src/commonFeature/test

Тогда я бы оставил свой проект других пакетов, как и раньше:

src/main/com/feature1 ....

Не уверен, что будет лучшим способом. Кто-нибудь может помочь с этим?

Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2020

Несколько соображений по вашему вопросу:

src/main/com/commonFeature/main/
src/main/com/commonFeature/test/

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

src/commonFeature/main
src/commonFeature/test

Это также не является последовательным, и без каких-либо дополнительных знаний о /main/com/ это такая же альтернатива, как и первая.

Видно, что в обоих случаях вам придется много исправлять ссылок, вы должны подходить к проблеме, думая по-другому.

Вы не можете добавить подмодуль git в root вашего git хранилища . Это заставит вас переместить все общие библиотеки в новую папку. Если это так, просто подумайте о вашей новой папке следующим образом:

/._
  |_ /.git
  |_ /main
  |_ /test

Вам нужно будет добавить ее где-то в вашем текущем, где зависит от значения /src, /main, /com. В любом случае, если вы посмотрите на него, вам придется исправлять неработающие ссылки.

Альтернативой для сохранения текущего дерева и наличия другого хранилища будет клонировать два хранилища в одном каталоге . Это сложно, и это обходной путь для ограничения, налагаемого субмодулями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...