Как управлять несколькими копиями проекта git - PullRequest
0 голосов
/ 20 марта 2020

Я сделал проект School Android и хотел сделать его копии для разных школ с разными пакетами и разными чертежами. Есть ли способ управлять всеми ими в одном репозитории github в разных ветках. Поэтому, когда я делаю некоторые изменения в одном экземпляре (ветке) и создаю запрос на извлечение остальных экземпляров (ветвей). Я хочу, чтобы он объединял только сделанные мной изменения, а не заменял весь код и элементы рисования ветви, из которой я создал запрос на извлечение.

1 Ответ

0 голосов
/ 20 марта 2020

Одна вещь, которую вы можете сделать, - это извлечь основную часть вашего проекта в отдельный управляемый репозиторий. Давайте назовем это вашим coreApp. Он будет содержать основные функциональные возможности, функции и архитектуру, которые необходимы для всей последующей работы, которую вы будете выполнять. Учитывая, что возможно даже разделить ваш проект на модули!

Тогда для каждого конкретного c проекта (копии для разных школ) будет использоваться ваш coreApp в качестве зависимости и построим поверх него, реализуя конкретные и специальные c drawablase + необходимые пакеты.

Плюсы этого подхода в том, что у вас есть четкое логическое разделение между каждым проектом , История git будет указана c, подробная и точная. Вы будете знать, когда вам нужно обновить ваш основной модуль и когда вам нужно работать над каждым конкретным c проектом. Вы также получаете преимущество обработки меньших объектов таким способом. Поскольку каждый проект представляет собой отдельное приложение, вы переходите от создания монолита к более модульной системе. Еще одним положительным моментом является то, что у вас есть небольшое количество дублирования кода. Все, что вам нужно сделать, это просто реализовать конкретные c и конкретные функции для каждой школы, остальные остаются неизменными.

Минусы в том, что будет сложнее управлять всеми этими проекты, потому что теперь у вас нет одного одного проекта, а есть несколько, где один является зависимостью от другого. Другой негативный аспект этого заключается в том, что если это произойдет, и это очень зависит от вашей ситуации, если вы регулярно обновляете свой coreApp, тогда вам может понадобиться для обновления всего последующего проекта, так как ваше ядро ​​получило новая версия. Это зависит от того, насколько вы активны в обслуживании. И последнее, , но не в последнюю очередь минус в том, что может быть довольно сложно логически отделить ваше ядро ​​от остальных ваших приложений ...

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

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