Ответ 1
Подпроект является общим термином для одного из трех типов вложенности:
- Подмодули предоставляют полуфиксированные ссылки из суперпроекта в подпроекты и интегрированы в git. Он лучше всего используется, когда подпроект:
- разрабатывается кем-то другим, не находится под административным контролем суперпроекта и следует за другим циклом выпуска.
- содержит код, разделяемый между суперпроектами (особенно когда намерение заключается в распространении исправлений и новых функций обратно в другие суперпроекты).
- разделяет огромные и/или многие файлы, которые могут повредить производительность ежедневных команд git.
- Подэлементы заставляет репозиторий подпроектов импортироваться в репозиторий суперпроекта как часть исходного репозитория с полной историей, как правило, в конкретном подкаталоге суперпроекта.
- Wrappers, которые предоставляют функции управления несколькими репозиториями суперпроекту со связанными подпроектами.