Я хотел бы оставить две ветки для некоторых руководств, одну ветку S
с некоторыми "секретными" исправленными файлами и одну общедоступную c ветку P
с теми же файлами, но еще не исправленными (только скелет). Тогда идея заключается в том, чтобы создать только ветку P
в репо publi c и сохранить обе ветви в моем личном репо. И, конечно же, поскольку эти две ветви очень похожи, я хотел бы убедиться, что могу объединить изменения из ветви S
в ветви P
.
Так что на данный момент у меня есть моя секретная ветка S
и я создаю сиротскую ветку P
. Затем я создаю коммит, содержащий все файлы, которые должна содержать ветвь P
. Но когда я изменяю ветку S
и пытаюсь объединить это изменение с веткой P
(с --allow-unrelated-histories
), тогда все коммиты ветви S
появляются также в истории ветки P
... так что каждый может прочитать секретные исправленные файлы!
Я попытался использовать merge --squash
вместо этого, и история ветви S
не копируется в P
, но теперь проблема заключается в том, что две ветви остаются не связанными, и как Следствие git не может реально разрешить конфликты слияния, поскольку не может найти «общего предка» между двумя ветвями.
Есть идеи, как мне решить эту проблему?
Спасибо!
- РЕДАКТИРОВАТЬ -
Подумав немного, я думаю, что мне нужна функция, которая просто pu sh все коммиты текущей ветви, но это не pu sh коммиты объединенной ветви. Возможно ли это?