Моя организация готовится выпустить версию нашего программного обеспечения с открытым исходным кодом с использованием github, однако я не уверен, как лучше всего подойти к этому:
У нас есть две ветки master и выпуск , master содержит некоторые проприетарные компоненты, которые мы решили не выпускать, а релиз содержит очищенную версию, которую мы хотим распространять. Проблема в том, что если мы просто отправим ветку release в github, проприетарные компоненты можно будет получить, просмотрев историю изменений.
Я думал о создании отдельного репозитория, копировании в него HEAD relase , выполнении git init
и отправке этого репозитория на github. Однако мы хотим сохранить возможность выбирать определенные патчи из master в выпуск в будущем и переносить эти изменения в github.
Есть ли способ сделать это. сделать это без поддержки двух отдельных репозиториев?
Спасибо!
Обновление:
Чтобы быть немного более конкретным, вот как выглядит наша история коммитов в данный момент:
--- o - o - o - o - f - o - o - f - master
\
c - c - c - c - c - c - c - REL - f - f
Где 'o' - это коммиты в master , проприетарной ветке, 'c' - это коммиты, которые удаляют вещи, которые не должны публиковаться (часто не удаляя файлы целиком, а переделывая существующие, чтобы не полагаться на проприетарные компоненты), и 'f ' - это исправления в master , которые также применимы к выпуску , и поэтому были тщательно отобраны. REL - это помеченная версия кода, которую мы считаем безопасной для публикации, без какой-либо истории (даже с предыдущими версиями ветки выпуска, поскольку не все проприетарные материалы были удалены до тега REL).