Разные ветки в GIT с общими классами [дубликат]

272
21 ноября 2017, 21:37

На данный вопрос уже ответили:

  • Как организовать работу с системами контроля версий для разработки нескольких проектов с общей основой? 2 ответа

Есть несколько проектов, у которых одно ядро (Несколько классов, отвечающие за загрузку контента, загрузка контента на этих проектах идентична), но остальные классы специфические, у каждого проекта свой функционал, один может играть аудио контент, в другом проекте реализация проигрывания видеоконтента. Так вот, я хочу сделать две разные ветки на GIT'e, один с аудиоплеером, другой с виеоплеером, но у обоих должно быть одинаковое ядро, если я принесу изменения в ядро, то эти изменения должны приняться в обоих ветках. Но я вообще не знаю как это реализовать на GIT'e, гугление результатов не дало. Возможно есть тут люди, которые такое реализовывали?

Answer 1

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

Вот ссылка на Руководство по работе с несколькими модулями если вы собираете проект на Maven.

Вот ссылка на Многопроектные сборки если вы собираете проект на Gradle

Да, кстати можете создать отдельную git ветку (branch) для каждого модуля без проблем. Они не будут мешать друг другу.

Answer 2

Есть два способа.

  • использование сабмодулей. Свой проект разделяете на три проекта - ядро (там общие классы), и два проекта с видео и обычным плеером. Этот способ как бы правильный, но для новичков может быть "неожиданным и сложным".

  • использование препроцессора/отдельных проектов. То есть, делается два файла проекта, которые живут в одном каталоге. Дальше все логично. От гита не зависит.

READ ALSO
Конвертирование даты в java

Конвертирование даты в java

ЗдравствуйтеЯ хочу создать объект типа Date и при создании я ему присваиваю значение из строки из коллекции

327
NullPointerException в session hibernate

NullPointerException в session hibernate

Добрый день!

521
Object или параметризация?

Object или параметризация?

Когда мы пишем класс, но не знаем с какими объектами будем работать (допустим храниить переменную) мы можем просто задать переменную типа...

450
Гироскоп акселерометр android

Гироскоп акселерометр android

У меня есть webview,который открывает сайт с WebGl или CCS3DНа данном сайте есть кнопка,которая включает гироскоп

263