Git: как организовать два проекта, которые имеют общий код

Как два организуют два проекта, которые имеют общую часть кода?

У меня есть 2 проекта, которые имеют общую часть кода, которая время от времени меняется. Я использую TortoiseGit.

Например

project 1 - master
project 2 - dev-branch. 

Как я понимаю, когда я делаю изменения в dev-branch (изменения в конкретном коде dev-branch и совместно с master-кодом), а затем объединяю master с dev-branch, master получит также конкретный код dev-branch.

Как мне разрешить эту ситуацию, чтобы получить для мастера только основные изменения?

3 ответа

Решение
  1. У вас должен быть дополнительный репозиторий для общего кода. Таким образом, в вашем случае у вас будет супер-проект1, супер-проект2 и новое хранилище подпроектов.
  2. Для любого из файлов, которые вы хотите использовать в общем проекте, вы должны собрать их в специальный специальный подкаталог (или дерево), чтобы ни один из файлов суперпроекта не содержался в каталогах общего кода.
  3. После строгого разделения вы можете использовать подмодули Git или git-subtree ( вариант использования поддерева, идентичный вашему)

Вы можете даже сделать git-репо внутри git-репо, но в итоге вы получите 2 истории. Я сам выбрал эту опцию, потому что я всегда изменяю свое внутреннее репозиторий git как блок, поскольку я хочу обновлять его модульные тесты всякий раз, когда я обновляю это репо.

Вы можете использовать субмодули для этого

Исправить ссылку

Другие вопросы по тегам