У меня есть два тесно связанных проекта (A и B), которые содержат некоторый исходный код (S). Оба они будут выпущены в одно и то же время, и выпущенная версия должна всегда использовать одну и ту же версию общего кода. Общий код S будет изменяться достаточно часто.Обмен кодом между двумя проектами в git
Таким образом, это будет выглядеть где-то так:
- Вариант 1 использует S версии 1
- B версия 1 использует S версия 1
- Вариант 2 использует S версии 2
- B версия 2 использует S-версию 2
Каков наилучший способ справиться с этим с помощью git (и/или некоторых инструментов, которые используют git)?
Вот мои проблемы:
- Проект A и B проекта должны быть в отдельных хранилищах (они связаны между собой, но я не хочу, чтобы иметь свободный поток кода между ними)
- Если общий код, обновленный в одном проекте, должен быть автоматически обновлен в другом (я не хочу иметь ситуацию, когда разработчик забыл что-то сделать и в итоге получил устаревшую версию общего кода).
Как я понимаю, одним из канонических ответов является «использование git submodule». Тем не менее, я прочитал около criticism об этом подходе. Я чувствовал, что он больше предназначен для обмена библиотеками, которые редко меняются.
Другой подход, который я прочитал использовал git subtree
И есть несколько менее популярных подходов: Repo, GitSlave
Что бы наилучший подход к работе с данным типом обмена кодом?
ссылки не являются хорошими, я исправил поддерево, но не могу угадать других (используйте god-подмодуль и критику) – CharlesB
Спасибо. Я исправил все ссылки, кроме одного. Если я его вставляю, по какой-то причине он связан с неправильной ссылкой. –
Вы можете исправить это непосредственно в код уценки – CharlesB