Мы разветвили проект OSS на GitHub и добавляем к нему некоторые пользовательские расширения. Мы захотим отправить некоторые из сделанных нами изменений обратно в исходный проект (исправления ошибок и т. п.), но другие изменения представляют собой расширения функций, которые в настоящее время не интересуют первоначальных сопровождающих проекта.Я пытаюсь найти лучший рабочий процесс для управления этой ситуацией.
Я хочу, чтобы наша ветка master содержала сумму (коммитов из оригинального проекта) + (наши исправления ошибок за вклад) + (наши пользовательские расширения). Я предполагаю, что нам понадобится модель «ветвь на функцию», чтобы мы могли хранить исправления ошибок отдельно от пользовательских расширений. Мы можем запускать ветки пользовательских расширений из нашей основной ветки, но я думаю, мы также захотим поддерживать локальную «исходную» ветку или что-то, что отслеживает исходный проект, чтобы мы могли оттуда запускать ветки исправления ошибок, которые не загрязнены нашим пользовательские вещи. Или что-то.
Кто-нибудь может предложить лучший способ структурировать этот рабочий процесс таким образом, чтобы все различные коммиты шли туда, куда они должны идти, и ни один не шел туда, куда не должен идти?