Каким должен быть идеальный рабочий процесс git, если пул-запрос не объединен и улучшения в апстрим / мастер - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу понять, что было бы идеальным рабочим процессом git в случае проектов с открытым исходным кодом, в которых запросы на отправку отправляются для новых изменений функций.У меня был такой сценарий (где М - это оригинальный проект вверх по течению, и я разработал проект на М2).Я начал работать над этой функцией и добавил коммиты:

M1 --- M2 --- M3
       |
       M2 --- F1 --- F2

Теперь моя функция была готова, и я перебазировал свою ветку функций поверх M3 и отправил запрос на извлечение.Поэтому в этот момент моя ветвь функций становится такой:

M1 --- M2 --- M3 --- F1 --- F2

Я передал вышеописанное своему мастеру и отправил запрос на извлечение.Но мой этот пиар не слился.Мой PR был там несколько дней, и к этому времени мастер продвинулся.

M1 --- M2 --- M3 --- M4 --- M5

Теперь, владелец проекта после просмотра моих изменений попросил меня представить новый PR с последними изменениями.Так что в этом состоянии, если я снова выполню ребаз на upstream / master с проверенной веткой функций, у меня не будет этой ситуации?:

(M1 --- M2 --- M3 --- M4 --- M5) --- (M1 --- M2 --- M3 --- F1 --- F2)

1) Правильно ли мое мышление в понимании этого рабочего процесса git?2) Что было бы лучше или лучше использовать в таких сценариях?

Прошу прощения, если это самый глупый вопрос, так как я только начал изучать git и до сих пор не изучил большинство вещей.Спасибо!

1 Ответ

0 голосов
/ 18 апреля 2019

Вы можете просто сделать ребаз снова.Ветвь в git - это просто указатель на коммит, поэтому ваша ситуация в основном точно такая же, какая была у вас до того, как вы впервые сделали ребазинг.

Имейте в виду, что ваш сценарий сейчас выглядит так:

  M1 --- M2 --- M3 --- M4 --- M5
                |
                M3 --- F1 --- F2

Что очень похоже на то, что у вас было раньше.Возврат на мастер приведет к:

M1 --- M2 --- M3 --- M4 --- M5 --- F1 --- F2
...