Подскажите как правильно делать. на локалке есть ветка develop , когда я добавляю новый функционал то создаю ветку feature/new_name1. Коммичу изменения и заливаю на gitlab в ветку с таким же названием git push origin feture/new_name1
Теперь есть условие, что в ветку develop на локалке я могу вгосить изменения только через merge request через интерфейс гитлаба, но мерж еще надо что бы заапрувили. В ожидании апрува хочу сделать другой функционадл на локалке.
Вот с этого момента какой порядок действий? Получается что локальный девелоп не обновлен. Тут я вижу еще два нюанса:
1 - когда новый функционал зависит от кода в ветке feature/new_name1
2 - функционал не пересекается
Делает новую ветку от feture/new_name1 и делаете другой функционал на ее основе.
После того как ветку feture/new_name1 примут, можно новую ветку запушить на гитлаб.
Т.е грубо говоря мне мой локальный develop сейчас не нежен. Я создаю новую ветку git checkout feature/new_name2
Вношу изменения и пушу git push -u origin feature/new_name2
И когда оба merge request будут выполнены на локалке переключаюсь на develope и делаю git pull origin develop ?
Jekson, Не совсем. Вы спокойно делаете новую ветку от предыдущей фичи. После того как предыдущую фичу примут, есть смысл вкачать develop себе и ребазировать новую фичу на актуальный develop.
На самом деле перед пушем фичи всегда есть смысл обновить develop и ребазировать фичу на последний develop и только потом пушить. Тогда вы уменьшите вероятность конфликтов при мерже.