Я создал базовую систему администратора, используя RoR . Он имеет очень базовые функции, такие как пользователи, роли, функции безопасности и базовый пользовательский интерфейс. Я хочу поместить этот проект в главный репозиторий GIT.
Если я хочу создавать будущие проекты, я бы хотел использовать этот базовый проект в качестве основы. Я создаю брахи?
МАСТЕР-ПРОЕКТ
ОСНОВНОЙ ПРОЕКТ > ПОДПРОЕКТ № 1
МАСТЕР-ПРОЕКТ > ПОДПРОЕКТ № 2
Таким образом, оба подпроекта идентичны основному проекту на данный момент. Если я хочу сделать универсальное изменение кода для любого файла в MASTER PROJECT , как мне сделать это изменение распространяющимся на все подпроекты. Это мой ПЕРВЫЙ ВОПРОС .
Второй вопрос:
Что делать, если я хочу изменить код определенного файла в одном из подпроектов?
Например: если я настрою макет в SUB PROJECT # 2 (application.html.erb), я хочу, чтобы это изменение затронуло только SUB PROJECT # 2 . Я хочу, чтобы все подпроекты использовали application.html.erb из MASTER PROJECT , ЕСЛИ он не был изменен (настроен). Было бы хорошо, если бы SUB PROJECT # 2 содержал только один настроенный файл. Все остальные отсутствующие файлы возвращаются на MASTER PROJECT .
ТРЕТИЙ ВОПРОС:
Если я внесу изменение в application.html.erb в MASTER PROJECT , предполагается, что это будет изменение для всех подпроектов, ЕСЛИ В одном из субпроектов не настроено изменение этого файла уже. В этом случае SUB PROJECT # 2 делает.
Я бы хотел, чтобы GIT либо:
a) Пропустить обновление на application.html.erb в SUB PROJECT # 2
OR
b) Запросить предупреждение для какого-либо слияния.
Это имеет смысл? Возможна ли эта настройка? Как бы это называется? С чего начать?