Мне нужно разработать два проекта Django, которые делят 90% одного и того же кода, но имеют несколько вариантов в нескольких приложениях, шаблонах и в самой модели.Лучшая практика управления вариантами проекта в Git?
Я использую Git для распределенного управления источником.
Мои требования таковы:
общий код для обоих проектов разрабатывается в одном месте (среда разработки project1 в)
периодически это сливается в среду разработки второго проекта (project2)
варианты не легко инкапсулируются в приложениях. (Например, есть приложения. Такие, как «профили», которые различаются между Проект1 и Project2, но для которых есть также постоянная общая эволюция)
как Project1 и Проект2 имеют публичные репозитории, так что я могу сотрудничать с другими
Аналогично, Project1 и Project2 должны иметь серверы разработки, демонстрации, постановки и производства.
Однако публичный репозиторий не находится на одном сервере в обоих случаях. Так, например, когда я развиваюсь в Project1, я хочу иметь возможность «нажимать» на мой сервер github, но у меня нет материалов Project2.
есть файлы, такие как local_settings.py, которые полностью отличаются от Проект1 и Project2, но должны быть разделены между несколькими разработчиками каждого проекта
Так что самый лучший способ управления этой ситуацией?
Казалось бы, идеально было бы что-то вроде «отфильтрованного тяги», где вместо .gitignore, говорящего «игнорировать этот файл целиком», могу сказать «проигнорировать этот файл, когда вытаскиваете из этого репо», я не мог видеть что-то подобное в документации, но может быть что-то подобное?
Hi Macarse, я думал об общем репо, но я не думаю, что этого достаточно. (Как и в, мне все равно нужно разработать исправление ошибок в репозиториях Project1 и Project2 и захочет вернуть общие исправления обратно к общему репо. Проблема в том, что я хочу частично отступить, не оставляя git, думая, что Или это неправильно? – interstar