Как в Git продолжать разработку без отправки изменений на удалённый репозиторий?

Вначале удалённый и локальный репозиторий совпадают.

Делаю я новую функциональность в локальном репозитории.
Создал для неё ветку 'Ф1', реализовал полностью эту функциональность, всё готово.

Но отправить изменения (pull request) нет возможности.
А при этом хочется продолжить разработку и сделать что то ещё из этого состояния (готовой Ф1), сделав для новой функциональности ветку 'Ф2'

Появилась возможность отправить это всё на удалённый репозиторий, пусть простая ситуация удалённый репозиторий не изменился, и важно, что бы в его истории сохранились ветки для каждой функциональности своя (как при использовании ключа --no-ff) , то есть была вот такая картина
5c863461530a2665727534.jpeg

Так вот проблема. Как мне работать локально создавать ветки и сливать изменения и как отправлять изменения что бы это получить?

Вариант 1. После реализации Ф1 я должен влить её в master (делаю это с --no-ff)? (а так можно? если собираешься на удалённый отправлять? картинка на локальном получится, а на удалённом?) Затем из master сделать ветку Ф2 и опять слить с master затем отправить изменения из итоговой ветки master

ИЛИ

Вариант2. После реализации Ф1 я делаю из неё Ф2 из неё Ф3 из неё ....
5c8637b407145469226419.jpeg
Затем каждую по отдельности отправляю на удалённый репозиторий и локально не сливая с master
Ещё варианты?

В общем как продолжают разработку без доступа к основному репозиторию?
  • Вопрос задан
  • 1042 просмотра
Решения вопроса 1
1) Фичу 1 оставить в своем репозитории и не лить ее в мастер локально
2) Если для Фичи 2 изменения в Фиче 1 не нужны, просто переходишь в мастер, делаешь гит пулл и делаешь бранч для Фичи 2
2а) Если для Фичи 2 нужны изменения, которые ты сделал в Фиче 1, то после второго шага делаешь gi rebase F1
3) Перед тем как делать мерж реквест и к первой фиче и ко второй делаешь
git fetch && git rebase origin/master таким образом ты в ветку подтянешь накопленные в мастере обновления и решишь конфликты если возникнут
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Arik
На момент когда захотелось сделать ф2, ф1 нужна в Мастере? думаю ответив на этот вопрос можно решить как работать. Мастер всегда должен быть в боевом состоянии, не стоит сливать в эту ветку другие ветки, если не готовые сразу отправить в центральную репку и в бой
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы