Вначале удалённый и локальный репозиторий совпадают.
Делаю я новую функциональность в локальном репозитории.
Создал для неё ветку 'Ф1', реализовал полностью эту функциональность, всё готово.
Но отправить изменения (pull request) нет возможности.
А при этом хочется продолжить разработку и сделать что то ещё из этого состояния (готовой Ф1), сделав для новой функциональности ветку 'Ф2'
Появилась возможность отправить это всё на удалённый репозиторий, пусть простая ситуация удалённый репозиторий не изменился, и важно, что бы в его истории сохранились ветки для каждой функциональности своя (как при использовании ключа --no-ff) , то есть была вот такая картина
Так вот проблема. Как мне работать локально создавать ветки и сливать изменения и как отправлять изменения что бы это получить?
Вариант 1. После реализации Ф1 я должен влить её в master (делаю это с --no-ff)? (а так можно? если собираешься на удалённый отправлять? картинка на локальном получится, а на удалённом?) Затем из master сделать ветку Ф2 и опять слить с master затем отправить изменения из итоговой ветки master
ИЛИ
Вариант2. После реализации Ф1 я делаю из неё Ф2 из неё Ф3 из неё ....
Затем каждую по отдельности отправляю на удалённый репозиторий и локально не сливая с master
Ещё варианты?
В общем как продолжают разработку без доступа к основному репозиторию?