Задать вопрос
@Mindgrow

Как лучше выполнять перенос изменений из feature-ветки в develop?

Регулярно переношу изменения из feature-ветки в develop ветку (та ветка в которую переносятся итоговые изменения и из которой формируются релизы).

Обычно я брал ветку разраба, сквошил изменения, видел полный набор изменений, ревьювил и исправлял их и формировал итоговый коммит, который черри-пиком переносил уже в develop.
Такой подход нагляден (хоть и всегда мне казалось чем-то костыльным), но есть минусы
• исправления вношу я, а не разраб, что тратит моё время и лишает разработчика дополнительного опыта;
• бывают конфликты слияния, что тратит дополнительное время.

Хочу оптимизировать этот процесс тем, чтобы
1) конфликты решал разраб
2) исправления на основе замечаний вносил разраб

пт 2 как вижу все решают через pull / merge request - мне тут неудобно, что ревью приходится проводить в GitLab. В Visual Studio 2022 не нашёл как посмотреть Merge Request. Смотрел ещё в TortoiseGit. Мне удобнее было бы смотреть изменения в связи с проектом, чтобы в одном окне был и проект и изменения и чтобы можно было переходить по связям. В гитлабе так нельзя.

пт 1 как вижу все решают через rebase, но в результате это приводит к тому, что Merge Request включает изменения разработчика и изменения ребейса из-за чего ревью выполнять сложнее.

В результате Merge Request + Rebase мне не очень подходит.
Возможно я неправильно их использую?
Посоветуйте как оптимизировать процесс.
  • Вопрос задан
  • 347 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Тоже думаю что у вас какой-то странный workflow.

брал ветку разраба, сквошил изменения, видел полный набор изменений, ревьювил и исправлял их и формировал итоговый коммит, который черри-пиком переносил уже в develop

Чтобы видеть все изменения не нужно ничего сквошить.
Исправления должен делать сам разработчик, зачем вы делаете это за него?
Черипикать тоже непонятно зачем.

бывают конфликты слияния, что тратит дополнительное время

Это тоже забота разработчика. Пусть перед отправкой своей работы на рецензию делает git merge develop и устраняет конфликты сам заранее.

неудобно, что ревью приходится проводить в GitLab.

Что мешает поставить плагин и работать там где удобно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Вот тут с первых слов у меня уже непонятно

Регулярно переношу изменения из feature-ветки в develop ветку (та ветка в которую переносятся итоговые изменения и из которой формируются релизы).


Зачем ты это делаешь? Какова твоя роль? Везде все знать? Если ты лид - сделай code-review отпиши комментарии и пускай отвественный разработчик сам заливает в develop.

А это что?
сквошил изменения, видел полный набор изменений, ревьювил и исправлял их и формировал итоговый коммит, который черри-пиком переносил уже в develop.


Мне кажется у тебя вообще налицо какая-то ненужная активность. Эти чери-пики и сквоши не надо применять для производтсва кода. Я около 7 лет работаю с git и мы просто обходились обычным merge.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽